数据帧列的部分重新排序不会移动列的名称

当我尝试使用"["对列进行部分重新排序时,值将被交换,但列名不会移动。看到下面的例子:数据帧列的部分重新排序不会移动列的名称

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

回到顶部