无法通过ncol引用的列索引的向量对列重新排序

时间:2017-11-30 12:40:09

标签: r data.table

我有一些n列的简单数据帧。 对于他们中的每一个,我想将最后一列移到第一列。 由于列数是可变的,我使用:

df <- df[, c(ncol(df), 1:(ncol(df)-1))]

=============================================== ==========

但是,我不明白为什么c(12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)c(ncol(df), 1:(ncol(df)-1))都会返回

  

[1] 12 1 2 3 4 5 6 7 8 9 10 11

df[, c(12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)]可以返回我想要的重新排序的表,

df[, c(ncol(df), 1:(ncol(df)-1))]

返回上面的索引向量而不是重新排序的表

谢谢!

=============================================== ================

编辑:

下面重现的例子:

df <- data.table(v1=c(1,2), v2=c(3,4), v3=c(5,6))

c(3,1,2)
c(ncol(df), 1:(ncol(df)-1))

df2 <- df[, c(3,1,2)]
df2
df3 <- df[, c(ncol(df), 1:(ncol(df)-1))]
df3

0 个答案:

没有答案