在使用by语句时保留其他变量,head, n=1在R中

  • 本文关键字:head 其他 by 语句 保留 变量
  • 更新时间 :
  • 英文 :


我有一个48000个工作和6个变量的列表。我得到了3个变量的每个组合的最大值。

rankout1<- by(r1$ARL_method1, r1[, c('nphase1', 'meanshift', 'Sigmashift')],head,n=1)
rankout2<- by(r2$ARL_method2, r2[, c('nphase1', 'meanshift', 'Sigmashift')],head,n=1)

输出我正在查找的48个工作的列表。此方法仅输出我试图捕获的这48个对象的ARL值,但我需要其他变量以及arl_method1。我尝试在大数据集和小数据集之间创建一个数据框架,但由于行数据集不能组合。因此,我希望输出这48个观测值的(meanshift, sigasshift和nphase1)值以及ARL值。

rankout1<-do.call("rbind", as.list(rankout1))
rankout2<-do.call("rbind", as.list(rankout2))

提前感谢!

正如@SabDem建议的那样,我能够使用Dplyr包获得我正在寻找的数据集。

desiredrun<-1/0.0027 
rankout1<-read.table("C:\Users\Adam\Desktop\R\study2_rank1.csv", header=TRUE, sep=",")
rankout2<-read.table("C:\Users\Adam\Desktop\R\study2_rank2.csv", header=TRUE, sep="")
rankout2<-rankout2[,-4]
r1<-data.frame(rankout1, D1=abs(rankout1$ARL_method1-desiredrun))
r2<-data.frame(rankout2, D2=abs(rankout2$ARL_method2-desiredrun))
r1<-r1[order(r1$nphase1, r1$meanshift, r1$Sigmashift, r1$D1),]
r2<-r2[order(r2$nphase1, r2$meanshift, r2$Sigmashift, r2$D2),]

r1<-r1 %>% group_by(nphase1, meanshift, Sigmashift) %>% arrange(desc(ARL_method1)) %>% slice(1)
r2<-r2 %>% group_by(nphase1, meanshift, sigmashift) %>% arrange(desc(ARL_method2)) %>% slice(1)

最新更新