gpt4 book ai didi

r - 根据另一个表过滤一个表

转载 作者:行者123 更新时间:2023-12-01 23:55:41 25 4
gpt4 key购买 nike

一个包括所有感兴趣的道路的 TMC#。第二个包括在特定状态下每条道路上发生的行驶时间。我想使用第一个表进行过滤,以便只保留与那些感兴趣的道路对应的记录。

df

  id     link       tmc
1 1 23402444 122P06466
2 2 23402487 122P06476
3 3 23402488 122N06476
4 4 23402493 122N06477
5 5 23402555 122P06454
6 6 23402557 122N06453

df2

  id       tmc   epoch  tt
1 1 108N04625 1182014 163
2 2 108N04625 1182014 103
3 3 108N04625 1182014 73
4 4 108N04625 1172014 254
5 5 108N04625 1172014 224

我正在尝试使用过滤器

Data2Filter<-(Data2, TMC==Data2$TMC)

但我得到的要么是找不到所有对象,要么是我的尺寸不匹配(Data1 中大约有 8000 条记录,Data 2 中大约有 14000000 条记录,因为 TMC 上可能有多个旅行时间 (TT),但我只是对与数据 1 中列表对应的 TMC 上发生的那些感兴趣)。我对 MatLab 非常熟悉,但不幸的是目前我只有 R Studio 可用,对这个软件一无所知。如果有任何区别,这些表也会作为 cvs 文件加载。

最佳答案

df2$tmc[1] <- df$tmc[1]
df2

id tmc epoch tt
1 1 122P06466 1182014 163
2 2 108N04625 1182014 103
3 3 108N04625 1182014 73
4 4 108N04625 1172014 254
5 5 108N04625 1172014 224

很多很多的选择

subset(df2, tmc %in% df$tmc)

df2[df2$tmc %in% df$tmc, ]

library(dplyr)
fi <- filter(df2, tmc %in% df$tmc)

fi
id tmc epoch tt
1 1 122P06466 1182014 163

超快的大型数据集

library(data.table)
dt <- data.table(df)
dt2 <- data.table(df2)
subset(dt2, tmc %in% dt$tmc)

This可能是关于子集性能的有用主题

关于r - 根据另一个表过滤一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23957019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com