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


V1    V2
5     6
4     4
2     5

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

V1    V2
6     5
4     4
5     2

最简单的方法可能是:

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

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

更具编程性:

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

最简单的方法:

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

我使用data.table,比如说dt。就我而言,

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

交换第一行和第二行,而

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

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

最新更新