R 当第1列与其他向量中的值匹配时,从第3列返回值
我有一个向量R 当第1列与其他向量中的值匹配时,从第3列返回值,r,R,我有一个向量a,其中有几个ID码: a <- c(167.1, 89.7, 284.1, 108.1, 50.6, 276.5, 283.2, 357.3, 119.2, 92.2, 314.4, 400.2, 154.5, 104.5, 198.2) > a [1] 167.1 89.7 284.1 108.1 50.6 276.5 283.2 357.3 119.2 92.2 314.4 400.2 154.5 104.5 198.2 在一个新向量中,当y$Drop\u
a
,其中有几个ID码:
a <- c(167.1, 89.7, 284.1, 108.1, 50.6, 276.5, 283.2, 357.3, 119.2, 92.2, 314.4, 400.2, 154.5, 104.5, 198.2)
> a
[1] 167.1 89.7 284.1 108.1 50.6 276.5 283.2 357.3 119.2 92.2 314.4 400.2 154.5 104.5 198.2
在一个新向量中,当y$Drop\u ID
中的值与a
中的值匹配时,我想报告y中的值,因此最终结果应该如下所示:
>b
Drop_ID Common.Name distance_m
1 167.1 Bocaccio 0.390
2 108.1 Shortbelly Rockfish 0.405
3 198.2 Chilipepper 0.413
4 119.2 Shortbelly Rockfish 0.424
到目前为止,我能想到的唯一方法是使用一个for循环,该循环带有一个嵌套的if语句,用于检查每一行以及是否发生匹配,并存储值,但我相信一定有更好的方法来实现这一点
谢谢。您只需将其子集:
y[y$Drop_ID %in% a, ]
您只需将其子集:
y[y$Drop_ID %in% a, ]