> dummy <- data.frame(X = c(1, 2, 3, 4, 5, 5, 2, 6, 7, 2), Y = c(3, 2, 1, 4, 5, 6, 7, 3, 4, 2))
> dummy
X Y
1 1 3
2 2 2
3 3 1
4 4 4
5 5 5
6 5 6
7 2 7
8 6 3
9 7 4
10 2 2
Run Code Online (Sandbox Code Playgroud)
我有一个data.frame,由1到7的值组成.我想将1改为7(反之亦然),2改为6(反之亦然),3改为5(反之亦然),4是将保持为4.我基本上想要"反转"这些数字.我想过写一个for循环迭代每一列中的每个值并使用ifelse语句,但是我怎么能同时改变7到1和1到7?
Psi*_*dom 10
考虑到要切换的所有数字对的总和为8,您可以从中减去原始数据框,8并且应该根据需要恢复所有值,因此您可以这样做8 - dummy:
dummy = 8 - dummy
dummy
# X Y
#1 7 5
#2 6 6
#3 5 7
#4 4 4
#5 3 3
#6 3 2
#7 6 1
#8 2 5
#9 1 4
#10 6 6
Run Code Online (Sandbox Code Playgroud)