我的数据框架似乎是
state year taxrev
Alabama 1970 209297
Alabama 1971 239502
...
Alabama 1981 239502
Alaska 1970 209701
Alaska 1971 230980
...
Alaska 1981 230982
...
我也有像这样的参考数据框
state year
Alabama 1975
Alaska 1977
Illinois 1973
...
如何使用dplyr获取参考数据框中州 - 年对的taxrev(我知道如何使用基数R)?
答案 0 :(得分:1)
假设列在您的示例中一致地命名,并且您的2个数据帧分别称为taxrev_df和reference_df:
reference_df <- left_join(reference_df, taxrev_df)
答案 1 :(得分:0)
这也可能有效,但由于没有可重复的数据而未经测试:
reference_df %>%
filter(year %in% taxrev_df$year)
答案 2 :(得分:0)
您不需要过滤。使用match_df
包的plyr
功能。
参见此示例
数据强>
my_data <- data.frame(state=c(rep("Alabama",3),rep("Alaska",3)),year=c(1970,1971,1975,1977,1963,1975),taxrev=c(209297,239502,254663,209701,230982,26789))
ref_data <- data.frame(state=c("Alabama","Alaska"),year=c(1975,1977))
R代码
match_df(my_data,ref_data)
<强>输出强>
state year taxrev
3 Alabama 1975 254663
4 Alaska 1977 209701