R:从全局环境中的所有data.frames中删除一行

时间:2016-04-28 18:52:24

标签: r dataframe

我的全球环境中有200多个data.frames。我想从每个data.frame中删除第一行,但我不确定如何。

如果需要进一步的信息,请与我们联系。

1 个答案:

答案 0 :(得分:2)

这将列出环境中的所有数据框,从每个数据框中删除第一行,并将它们组织到数据框列表中。通常,最好将它们放在列表中,以便您可以更轻松地apply跨越它们并访问它们。

df <- lapply(ls(), function(x) get(x)[-1,])

更新:最好检查对象是否实际上是数据框,并且只能使用这些对象。首先,我们创建一个列出数据帧的逻辑向量,然后将它们组合成一个列表并删除每个数据帧的第一行。

dfs = sapply(ls(), is.data.frame) 
lapply(mget(names(dfs)[dfs]), "[", -1, , drop = FALSE)

感谢您发现我的错误并提供更有效的解决方案的评论