从数据框列表中提取最后一列

时间:2018-01-09 11:03:31

标签: r

我有一个包含10个不同列数的数据框的列表,我想得到一个包含10个向量的列表。每个向量都是每个数据帧的最后一列。

如果我想从第一个数据框中获取最后一列,我运行:

lapply(list_with_df,function(x) x[,lengths(list_with_df)[1]])

但是每个数据框都有相同的列号。

我试图通过十个数据帧进行“循环”,但是我遇到了错误。如果有人可以帮我解决这个问题我很感激。问候。

1 个答案:

答案 0 :(得分:2)

您可以通过lengths询问列数,而不是使用ncol。这应该有效:

lapply(list_with_df,function(x) x[,ncol(x)])

修改

只是为了澄清一下:为每个数据框提供相同列号的原因是因为您始终根据lengths向量的第一个元素选择列号。使用lengths(list_with_df)[1]。它始终是第一个data.frame

的长度