3 回答
TA贡献1843条经验 获得超7个赞
如果我理解正确,你有一个包含变量名称的向量,并希望遍历每个名称并按它们对数据框进行排序。如果是这样,这个例子应该为您说明一个解决方案。你的主要问题(完整的例子不完整,所以我不确定你可能缺少什么)是它应该是,order(Q1_R1000[,parameter[X]])而不是order(Q1_R1000$parameter[X]),因为参数是一个外部对象,包含一个与直接列相对的变量名您的数据框(当$适当时)。
set.seed(1)
dat <- data.frame(var1=round(rnorm(10)),
var2=round(rnorm(10)),
var3=round(rnorm(10)))
param <- paste0("var",1:3)
dat
# var1 var2 var3
#1 -1 2 1
#2 0 0 1
#3 -1 -1 0
#4 2 -2 -2
#5 0 1 1
#6 -1 0 0
#7 0 0 0
#8 1 1 -1
#9 1 1 0
#10 0 1 0
for(p in rev(param)){
dat <- dat[order(dat[,p]),]
}
dat
# var1 var2 var3
#3 -1 -1 0
#6 -1 0 0
#1 -1 2 1
#7 0 0 0
#2 0 0 1
#10 0 1 0
#5 0 1 1
#8 1 1 -1
#9 1 1 0
#4 2 -2 -2
- 3 回答
- 0 关注
- 773 浏览
添加回答
举报