我在目录中有多个具有不同观察数的文件,需要根据观察次数对文件进行排序,并将它们保存为序列file1,file2,file3 ....等等。 例如,考虑我有4个文件,其中观察数为5,6,3,2,分别命名为abc,ikl,hj,op。现在,排序和重命名文件后应按以下方式保存在目录中。 file1是具有观察次数2的文件,file2应该是文件是观察次数为3的文件,file3为5,file4为6.有没有办法可以在R中做到这一点?
abc ikl nj op
1 2 3 20 1 2 76 43 56 233 123 56
4 5 6 10 5 8 12 11 10 564 15 45
7 8 9 3 77 9 4 2 1
10 11 12 12 8 90
13 14 15 5 6 8
2 1 7
重命名后:
file1 file2 file3 file4
233 123 56 76 43 56 1 2 3 20 1 2
564 15 45 12 11 10 4 5 6 10 5 8
4 2 1 7 8 9 3 77 9
10 11 12 12 8 90
13 14 15 5 6 8
2 1 7
请注意abc,ikl,hj,op,file1,file2,file3,file4是文件的名称。
答案 0 :(得分:1)
很多代码但它完成了工作:
# Crate some data frames
abc <- data.frame(matrix(0, 5, 3))
ikl <- data.frame(matrix(1, 6, 3))
nj <- data.frame(matrix(2, 3, 3))
op <- data.frame(matrix(3, 2, 3))
# This is where your code starts
# put them in a list
l <- list(abc, ikl, nj, op)
# find the number of observations for each data.frame
l1 <- sapply(l, function(x) dim(x)[1])
for(i in 1:length(l)){
assign(paste0("file", i), l[order(l1)][[i]])
}