如何在不参考列号的情况下选择数据框中的最后x个列?

时间:2015-09-11 14:33:05

标签: r

我正在寻找一个简单的R代码,准确地说,选择数据框中的最后3列。我不想引用任何其他列号(例如“从 2nd 中选择到最后一列”),因为我添加到数据帧末尾的列数不断变化。问here提出了一个相同的问题,但答案是针对用户的具体问题而不是标题中的实际问题。还有另一个带有类似问题的条目here,但是用户要求选择“列n到最后一列”,这不是我想要的。

x1 = rep("A", 5)
x2 = rep("B", 5)
x3 = c(1:5)
x4 = c(36:40)

dat = data.frame(x1,x2,x3,x4)
dat
dat[, 2:(ncol(dat))] #First option, not what I want
dat[,(ncol(dat)-2):ncol(dat)] #Second option, again not there yet...

我能想到的两个解决方案给出了正确的输出,但都选择了“列号n到最后一个”。

我只想说:给我数据框中的最后三列。就是这样。

1 个答案:

答案 0 :(得分:3)

我们可以使用tail

n <- 3
dat[tail(seq_along(dat),n)]