在列表中对数据框进行排序

3
如果我有一个数据框列表
list.dfs <- list(df1 = data.frame(var1 = c(1:3), var2 = c(1:3), var3 = c(1:3)), 
      df2 = data.frame(var1= c(1:3), var2 = c(1:3), var3 = c(1:3)), 
      df3 = data.frame(var1= c(1:3), var2 = c(1:3), var3 = c(3:1)))

如何使用lapplyorder将列表中的每个数据框按var3(从小到大)排序?


1
欢迎来到SO。你尝试过什么?这很直截了当,听起来好像你在要求我们为你编写代码。 - Justin
1
谢谢!我还不太擅长R,对于这个直接的问题感到抱歉。我在提取列表中数据框的列以传递给order函数方面遇到了麻烦。 - Brett Phinney
我已经尝试过使用lapply(list.dfs,order([3],)。抱歉,列表中的数据框让我感到困惑。我知道如何正常地对它们进行排序,而不是使用lapply。例如list.dfs[[3]][order(list.dfs[[3]][3]),]。 - Brett Phinney
Sven的回答是正确的。需要考虑的是编写一个函数,以在单个数据框上执行所需操作,例如 function(x) x[order(x$var3),]。然后使用lapply将该函数应用于您的列表。 - Justin
1个回答

5
lapply(list.dfs, function(x) x[order(x$var3), ])

会做这个技巧。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接