3
我有两个数据帧,R:从行到添加一列数据与条件
df1
number x_1 y_1
1 a a
2 a b
3 b b
4 c b
5 c c
df2
number_1 x_1 y_1 number_2 x_2 y_2
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
我想将数据添加到基于是否列X_1,Y_1,X_2,Y_2数字_1和数字匹配df1中数字列中的数字。所以在DF2的前两排,我应该有:
df2
number_1 x_1 y_1 number_2 x_2 y_2
1 a a 2 a b
1 a a 3 b b
我想这样的事情,但它不工作,它需要极长有非常庞大的数据集:
for(i in 1:nrow(df1))
for(j in 1:nrow(df2))
if(df2$number_1[j] == df1$number[i])
df2$x_1[j] = df1$x_1[i]
df2$y_1[j] = df1$y_1[i]
if(df2$number_2[j] == df1$number_1[i])
df2$x_1[j] = df1$x_1[i]
df2$y_1[j] = df$y_1[i]
我是初学者,所以如果你能解释你提出的步骤,我会非常感激。非常感谢你。
完美,谢谢。根据我的理解,您正在使用df2的x_1和y_1,并添加df1的第2:3列,如果df2 $ number_1和df1 $数字匹配。然后你再次为number_2做这件事。 – tutuahha
@DavidArenburg我认为你的答案是OP想要的。请考虑发表评论作为解决方案 – akrun