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

How to swap the values in two columns in R?

V1    V2
 5     6
 4     4
 2     5

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

V1    V2
 6     5
 4     4
 5     2

最简单的方法:

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

最简单的方法可能是:

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

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

更多编程方式:

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

我和 data.table 一起工作,比如 dt。就我而言,

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

交换第一行和第二行,而

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

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