根据与第4列匹配的第3列,将一列中的值替换为另一列

JPD*_*JPD 3 replace r

我正在使用以下示例:

Original     Modified     New_Orig     New
1            2            1            0
2            4            1            0
3            6            4            0
4            8            5            0
5            10           5            0
6            12           5            0
7            14           5            0
8            16           5            0
9            18           9            0
10           20           10           0
Run Code Online (Sandbox Code Playgroud)

我希望NewModifiedif New_Orig中的任何值替换值中的值Original.

理想情况下New看起来像这样:

New
2  
2
8
10
10
10
10
10
18
20  
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

亲切的问候,

Sve*_*ein 5

在这里,New创建了一个新列:

within(dat, New <- Modified*(New_Orig == Original))

   Original Modified New_Orig New
1         1        2        1   2
2         2        4        1   0
3         3        6        4   0
4         4        8        5   0
5         5       10        5  10
6         6       12        5   0
7         7       14        5   0
8         8       16        5   0
9         9       18        9  18
10       10       20       10  20
Run Code Online (Sandbox Code Playgroud)

更新

匹配值并从Modified以下选择适当的值:

within(dat, New <- Modified[match(New_Orig, Original)])

   Original Modified New_Orig New
1         1        2        1   2
2         2        4        1   2
3         3        6        4   8
4         4        8        5  10
5         5       10        5  10
6         6       12        5  10
7         7       14        5  10
8         8       16        5  10
9         9       18        9  18
10       10       20       10  20
Run Code Online (Sandbox Code Playgroud)