首页 > 解决方案 > 如何过滤包含向量中部分但不是全部元素的数据框中的向量

问题描述

我有一个大型数据集,其中包含大量有关巴士站出发时间的信息。我有一个主数据集,其中包含有关 Trip_ID、Bus_sign 和 stop_ID 的信息。我还有一个索引,我想通过它来过滤 df。

df <- data.frame(c(10,10,10,10,10,10,10,10,10,10),
               c(8,10,12,15,22,26,27,40,45,50),
               c("0000001","0000002","0000003","0000004","0000005","0000006","0000007", "0000008","0000009","0000010"))

names <- c("trip_ID", "Bus_sign", "stop_ID")
colnames(df) <- names

index <- c("0000001", "0000002", "0000003", "0000011","00000013")

数据框看起来像这样

 trip_ID Bus_sign stop_ID
1       10        8 0000001
2       10       10 0000002
3       10       12 0000003
4       10       15 0000004
5       10       22 0000005
6       10       26 0000006
7       10       27 0000007
8       10       40 0000008
9       10       45 0000009
10      10       50 0000010

该索引包含一些 df 中的 stop_ID,但它也包含一些不在 df 中的。我想为 df$stop_ID 过滤 index 和 df 的匹配项。

结果应如下所示:

trip_ID Bus_sign stop_ID
1      10        8 0000001
2      10       10 0000002
3      10       12 0000003 

我尝试了子集功能,但是它不起作用

subset(df, stop_ID %in% index)

标签: r

解决方案


推荐阅读