循环显示几个数据帧的头部

时间:2017-01-05 16:01:54

标签: r lapply

我有几个数据框,我想在所有数据框上运行head函数。我尝试了以下但它不起作用,因为它返回数据框的名称,但不返回数据框本身的头部。

df.a <- data.frame(col1 = "a", col2 = 1)
df.b <- data.frame(col1 = "b", col2 = 2)
df.c <- data.frame(col1 = "c", col2 = 3)

list <- ls()

for (i in 1:length(list())){
  head(list[i])
}

lapply(ls(),head)

有关如何操作或为什么不起作用的任何想法?

2 个答案:

答案 0 :(得分:2)

将数据框放入列表中,然后在循环中添加打印。

node

答案 1 :(得分:2)

我们需要将ls()提供的对象的值作为vectorcharacter字符串。如果对象名称具有pattern,请在pattern中指定ls并将其与mget一起包装,以获取list中的值,循环显示list lapply head并获取lapply(mget(ls(pattern="df\\.")), head)

{{1}}