Replacing values in one column with another based on a 3rd column matching a 4th

前端 未结 3 852
遇见更好的自我
遇见更好的自我 2021-01-01 06:44

I\'m working with the following example:

Original     Modified     New_Orig     New
1            2            1            0
2            4            1              


        
3条回答
  •  温柔的废话
    2021-01-01 07:05

    Here, a new column New is created:

    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
    

    Update

    Match values and choose appropriate value from 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
    

提交回复
热议问题