我有一个非常简单的问题。我有一个大型数据框,并且我需要按照以下模式替换第2列(cluster)中的值:
1 -> 3
2 -> 5
3 -> 1
5 -> 2
> dput(head(df))
structure(list(Target = c("TRINITY_GG_100011_c0_g1_i3.mrna1",
"TRINITY_GG_100011_c0_g1_i5.mrna1", "TRINITY_GG_100011_c0_g1_i6.mrna1",
"TRINITY_GG_100011_c0_g1_i9.mrna1", "TRINITY_GG_100016_c0_g1_i1.mrna1",
"TRINITY_GG_100016_c0_g1_i2.mrna1"), cluster = c(2L, 5L, 5L,
3L, 4L, 5L), AAA = c(9L, 7L, 8L, 7L,
5L, 5L)), row.names = c(NA, 6L), class = "data.frame")
#normally I will do it like this:
df$cluster[df$cluster == 1] <- 3
问题在于,一旦我将1更改为3,下一次我必须将3更改为1,那就会再次更改它。因此,我不能按顺序逐个更改。我需要一种可以同时更改所有原始数字的方法。