我无法弄清楚如何根据另一个中的条件向数据框添加新行
例如,我有两个数据帧,一个带有数据(df1),另一个带有与观察相关的条件(df2)。用于标识观察值的列名(id1和id2)在两个数据帧中是不同的,但变量(“a”,“b”...)是相同的。
如果观察“a”(列id2)的结果=“TRUE”或“FALSE”,我希望R检入df2,并在df1中相应地报告新的colum df1 $ idTF中的结果。
df1 <- data.frame(id1 = c("a","b","a","c","b","a","c","a","a","b"),
mes1 = c(2,3,4,2,3,5,2,3,4,2), mes2 = c(56,33,64,72,83,59,26,37,48,29))
> df1
id1 mes1 mes2
1 a 2 56
2 b 3 33
3 a 4 64
4 c 2 72
5 b 3 83
6 a 5 59
7 c 2 26
8 a 3 37
9 a 4 48
10 b 2 29
df2 <- data.frame(id2 = c("a","b","c"), result = c("TRUE","FALSE","TRUE"))
> df2
id2 result
1 a TRUE
2 b FALSE
3 c TRUE
我想根据df2中找到的id的TRUE或FALSE条件为df1(df1 $ idTF)添加一个新列,以便得到类似的内容:
> df1
id1 mes1 mes2 idTF
1 a 2 56 TRUE
2 b 3 33 FALSE
3 a 4 64 TRUE
4 c 2 72 TRUE
5 b 3 83 FALSE
6 a 5 59 TRUE
7 c 2 26 TRUE
8 a 3 37 TRUE
9 a 4 48 TRUE
10 b 2 29 FALSE
到目前为止,我还没有找到一种方法(嵌套循环?)。 事实上,我的数据库有1700行,而另一个数据帧中有58个不同的条件。