数据帧列的部分重新排序不会移动列的名称
当我尝试使用"["
对列进行部分重新排序时,值将被交换,但列名不会移动。看到下面的例子:数据帧列的部分重新排序不会移动列的名称
x = data.frame(x1 = c(1,2,3), x2 = c(2,3,4), x3 = c("e","e","e"), x4 = c("f","f","f")) x
#x1 x2 x3 x4
#1 2 e f
#2 3 e f
#3 4 e f
x[, c(3,4)] = x[, c(4,3)]
#x1 x2 x3 x4
#1 2 f e
#2 3 f e
#3 4 f e
任何想法,为什么列的名称不移动,以及如何解决这个问题?
回答:
一种选择是cbind
x1 <- cbind(x[1:2], x[4:3]) x1
# x1 x2 x4 x3
#1 1 2 f e
#2 2 3 f e
#3 3 4 f e
或者我们也可以用数字排序
通过做任务,我们只改变值,而不是列名。列值根据位置而改变,但不会通过交换列名来进行转换,因为列名对于该位置是固定的。
回答:
试试这个
x <- x[,c(1,2,4,3)]
以上是 数据帧列的部分重新排序不会移动列的名称 的全部内容, 来源链接: utcz.com/qa/266465.html