本文介绍了根据与第四列匹配的第三列用另一列替换一列中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用以下示例:
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
如果 New_Orig
与 Original
中的任何值匹配,我想用 Modified
中的值替换 New
中的值.
I want to replace values in New
with values from Modified
if New_Orig
matches with any value in Original
.
理想情况下New
看起来像这样:
Ideally New
will look like this:
New
2
2
8
10
10
10
10
10
18
20
非常感谢任何帮助.
亲切的问候,
推荐答案
这里创建了一个新列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
更新
匹配值并从Modified
中选择合适的值:
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
这篇关于根据与第四列匹配的第三列用另一列替换一列中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!