请参阅R中的最后一栏

时间:2014-02-14 14:09:49

标签: r

我试图以通用方式对最后一列进行一些操作。

我在论坛上发现了这段很棒的代码,它返回了最后一列的名称:

tail(names(train),1) #returns [1] "last"

我仍然无法弄清楚如何直接引用我的数据集的最后一列:

data$last

7 个答案:

答案 0 :(得分:54)

只需使用ncol()获取最后一个col的索引

data[,ncol(data)]

答案 1 :(得分:12)

获取rev列名称向量的第一个元素:

rev(names(mtcars))[1]
[1] "carb"

同样,要获取最后一列,您可以使用

rev(mtcars)[1]

答案 2 :(得分:5)

我更喜欢@ Troy的解决方案,这是另一种方式:

train[, tail(colnames(train), 1)]

答案 3 :(得分:3)

参考最后一栏:

colnames(data)[ncol(data)]

答案 4 :(得分:3)

Troy's answer比较简单,可以使用“:”运算符来引用最后一列之前的“ n”个元素。

如果您想参考最后的三栏,可以写:

data[,ncol(data)] # refers to the last column
data[,(ncol(data)-2):ncol(data)] # refers to the three last columns

答案 5 :(得分:3)

last_col()软件包中的功能tidyselect可能会有所帮助。另请参见此处

https://stackoverflow.com/a/44353413

答案 6 :(得分:2)

您可以使用tail,但必须强制列出:

tail(as.list(mtcars), 1)

这将返回包含列内容的向量。如果要保留结构,可以使用:

utils:::tail.default(mtcars, 1)

以便tail像输入列表一样处理输入。真正使用这种方法而不是Troy的唯一原因是,如果你想要的不仅仅是最后一列(即最后一个N),那么以这种方式变得容易得多。