R:如何更改data.frame中的值

Adr*_*ian 1 r dataframe

> 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)