我的全球环境中有200多个data.frames。我想从每个data.frame中删除第一行,但我不确定如何。
如果需要进一步的信息,请与我们联系。
答案 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)
感谢您发现我的错误并提供更有效的解决方案的评论