3 回答

TA貢獻1843條經(jīng)驗 獲得超7個贊
如果我理解正確,你有一個包含變量名稱的向量,并希望遍歷每個名稱并按它們對數(shù)據(jù)框進行排序。如果是這樣,這個例子應該為您說明一個解決方案。你的主要問題(完整的例子不完整,所以我不確定你可能缺少什么)是它應該是,order(Q1_R1000[,parameter[X]])而不是order(Q1_R1000$parameter[X]),因為參數(shù)是一個外部對象,包含一個與直接列相對的變量名您的數(shù)據(jù)框(當$適當時)。
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 關(guān)注
- 800 瀏覽
添加回答
舉報