我有一个大小为8326x13的data.frame。我想按特定栏目分批订购。例如。仅按A列排序范围1:1375。然后,我想将此订单部分添加到相同的data.frame到正确的位置1:1375。有可能吗?
先谢谢。
劳尔。
答案 0 :(得分:0)
正如@JeremyS
所建议的那样A <- sample(1:100, 20)
B <- sample(letters[1:26],20)
data <- data.frame(A, B)
n <- 10 # you want range 1:n
lower <- data[(n+1):dim(data)[1], ] # split to two data.frame with lower and upper part
upper <- data[1:n,]
upper <- upper[order(upper$A),] # or order(upper[,m]), m is the column index
data.new <- rbind.data.frame(upper, lower)
答案 1 :(得分:0)
或者,(使用useR
)
indx <- rep(c(TRUE,FALSE), each=10) #create a logical index.
在这种情况下,前10行是有序的
data[indx,] <- data[order(data$A[indx]),]
或者不是创建逻辑index
,而是提取需要订购的行并将其替换为有序集合
data[1:10,] <- data[order(data$A[1:10]),]
如果您创建索引,则在数据集中
indx <- rep(c(TRUE,FALSE), c(1375, 8326-1375))