所以我有一个4列5行的数据帧(dataframe1(,比如:
C1 C2 C3 C4
R1 a 1 15 8
R2 b 0 30 5
R3 c 1 10 2
R4 d 0 27 1
R5 e 1 39 4
如何排列C2和C3并将它们配对在一起?
类似:
C1 C2 C3 C4
R1 a 0 27 8
R2 b 0 30 5
R3 c 1 10 2
R4 d 1 39 1
R5 e 1 15 4
排列C2和C3列,但让C2和C3保持成对。
这可能吗?
我尝试了sample()
,但在对列进行配对时找不到任何要排列的代码。
附言:我不想在排列时对C1和C4做任何改变。
我们得到行序列上的sample
,并将其用作行索引来修改'C2'、'C3'的值
i1 <- sample(seq_len(nrow(df1)))
df1[c("C2", "C3")] <- df1[i1, c("C2", "C3")]
-输出
df1
# C1 C2 C3 C4
#R1 a 0 27 8
#R2 b 1 15 5
#R3 c 1 39 2
#R4 d 0 30 1
#R5 e 1 10 4
数据
df1 <- structure(list(C1 = c("a", "b", "c", "d", "e"), C2 = c(1L, 0L,
1L, 0L, 1L), C3 = c(15L, 30L, 10L, 27L, 39L), C4 = c(8L, 5L,
2L, 1L, 4L)), class = "data.frame", row.names = c("R1", "R2",
"R3", "R4", "R5"))