这是我第一次在这里提问,所以请耐心等待。
我在使用order()
这是data frame。它有294个观测值和46个变量。
这是我正在使用的代码
i <- order(data[ , 17], data[ , 2], decreasing = FALSE)
rdata <-data[i, ]
为了便于阅读,我删除了除了我订购的两个变量之外的所有变量。以下是results。
我想要的是第17列从最小到最大排序,如果第17列中的两个或更多值相同,那么第2列按字母顺序排序。
由于某种原因,结果并不完全正确。也许,我有太多的观察或其他东西,但不是column 17 (1:294)
排序的所有内容,而是由column 17 (251:294, 1:250)
订购的
抱歉,我还能如何分享数据?
基本上,行251 to 294
应该“预先”到结果数据框的开头
感谢您的帮助
i <- order(as.numeric(data[ , 17]), data[ , 2], decreasing = FALSE)
rdata <-data[i, ]
现在可以正常使用。
答案 0 :(得分:0)
如果我找对你,那么你应该做的就是 -
i <- data [order(data [,17],data [,2]),]
rdata <- subset(i, select=c(i[,17],i[,2]))
或者您可以使用plyr包并说 -
i <- arrange(data,data[,17],data[,2])
rdata <- subset(i, select=c(i[,17],i[,2]))