【发布时间】:2020-09-08 09:09:59
【问题描述】:
我正在尝试通过使用变量作为列索引而不是列名或硬编码列位置来重新排列数据框的列,但我无法这样做。
例如,如果我有一个名为“test”的数据框,它有 12 行和 7 列,如下所示:-
数据框中的值只是随机数。数据框的结构是这样的:-
str(allmodifiedwthhistdatareccountdf)
Classes ‘data.table’ and 'data.frame': 12 obs. of 7 variables:
$ wthmsngfixedupdf: int 44640 44640 44640 44640 44640 44640 44640 44640 44640 44640 ...
$ wthlgddf : int 44640 44640 44640 44640 44640 44640 44640 44640 44640 44640 ...
$ wthlgdrcncydf : int 44640 44640 44640 44640 44640 44640 44640 44640 44640 44640 ...
$ landrmwdf : int 44640 44640 44640 44640 44640 44640 44640 44640 44640 44640 ...
$ trenddf : int 44640 44640 44640 44640 44640 44640 44640 44640 44640 44640 ...
$ excldatesdf : int 44640 44640 44640 44640 44640 44640 44640 44640 44640 44640 ...
$ FcstID : int 1 2 3 4 5 6 7 8 9 10 ...
- attr(*, ".internal.selfref")=<externalptr>
请忽略结构输出中显示的值,因为它们是为了方便而放入的一些值。
我想将 FcstID 列作为第一列。我正在这样做,但它不起作用:-
test[, c(ncol(test), 1:(ncol(test) - 1))]
想出了一些奇怪的东西。
但这似乎可行:-
test[, c(7, 1:6)]
但这不是
test[c(7, 1:6)]
有什么建议吗?我做错了什么?
【问题讨论】:
-
如果
test[, c(7, 1:6)]有效,我不明白你想要什么?这是一个解决方案。
标签: r