如何交换R中两列中的值?

时间:2018-07-17 12:50:56

标签: r vector multiple-columns swap

V1    V2
 5     6
 4     4
 2     5

如何交换这两个列向量中的值。这样结果将是:

V1    V2
 6     5
 4     4
 5     2

3 个答案:

答案 0 :(得分:3)

最简单的方法可能是:

df[1:2] <- df[2:1]

也就是说,它交换值,但不交换列名。

更多以编程方式:

c2swap <- c("V1", "V2")
df[c2swap] <- df[rev(c2swap)]

答案 1 :(得分:0)

最简单的方法:

tmp <- df[1]
df[1] <- df[2]
df[2] <- tmp

答案 2 :(得分:0)

我与data.table(例如dt)一起工作。就我而言,

dt[1:2] <- dt[2:1]

交换第一行和第二行,而

dt[,1:2] <- dt[,2:1]

交换第一列和第二列的值,并保留相同的名称。