[英]I want to compare columns of two data frames to identify if caseid from one data frame exist in another data frame
[英]Compare two columns of factors from two data frame, get the entries exist in both data frame in r
我有两个数据框:
df1
vehicle speed time
a 23 234
b 34 421
d 45 290
df2
vehicle speed time
a 29 215
b 54 450
c 45 21
f 40 367
车辆的两个列都是因素。 我想找到普通车辆,并在df1中添加相应的df2 $ time,将其命名为time.2。
我想要的输出:
df1
vehicle speed time time.2
a 23 234 215
b 34 421 450
我试过了:
df1 <- df1[df1$vehicle %in% df2$vehicle, ]
df2 <- df2[df2$vehicle %in% df1$vehicle, ]
df1 <- cbind(df1, time.2 = df2$time)
但是在执行前两个命令之后,df1和df2的内部都有0行。 我之前曾尝试过,当我使用另一个数据帧将车辆与df1进行比较时,它可以工作。 我不知道df2不起作用。
谢谢!
尝试:
library(dplyr)
inner_join(df1,
df2 %>%
select(-speed) %>%
rename(time.2 = time) )
使用merge()
函数:
df1$vehicle <- as.character(df1$vehicle)
df2$vehicle <- as.character(df2$vehicle)
df <- merge(df1, df2, by="vehicle")
df <- df[, c("vehicle.x", "speed.x", "time.x", "time.y")]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.