我有一个很大的数据框,我想使用一系列因素进行子集设置,但不知道如何操作。
这是我的数据框;
I_have <- data.frame(
Company_id = as.factor(c(1006,1007,1123,1556,2000,2006,1200,1277,1266)),
Value = c(5,6,3,7,9,11,12,17,16))
这是我希望作为子公司的公司列表;
Companies_needed <- data.frame(Company_id = as.factor(c(1123,1556,2000, 1200)))
这就是我想要的;
I_want <- data.frame(
Company_id = as.factor(c(1123,1556,2000,1200)),
Value = c(3,7,9,12))
我的真实数据在“ I_have” 数据框中有500,000行,而“ Companies_needed” 则有7,000行,因此无法键入所有组合,因此必须使用数据框作为子集的列表。
答案 0 :(得分:1)
如上所述,请使用%in%
I_have[I_have$Company_id %in% Companies_needed$Company_id,]
或与dplyr
dplyr::inner_join(I_have, Companies_needed, by = "Company_id")