合并两个数据帧在R?



我是R的新手,面临这个问题(它可能是非常基本的,所以请原谅我)。我已经查看了左/右合并和数据。表合并,但没有成功。

Dataset1: 
Fips     County    Date          Result 
21001    Adair     01-03-2004    0.008 
21175    Morgan    11-21-2002    0.076
Dataset2:
Fips     County    Date          Pre
21001    Adair     01-03-2004    2.08
21001    Adair     01-04-2004    0.076
21001    Adair     01-04-2004    4.76
21017    Bourbon   01-03-2004    0.067
21175    Morgan    11-21-2002    0.076
21175    Morgan    05-04-2004    1.54
21175    Morgan    07-04-2004    0.008
21175    Morgan    11-21-2006    0.076
Desired_output:
Fips     County    Date          Result      Pre
21001    Adair     01-03-2004    0.008       2.08
21175    Morgan    11-21-2002    0.076       0.076

这是我使用的代码:

Desired_output <- merge(Dataset1, Dataset2, by.x=c("Fips", "Date"), by.y=c("Fips", "Date"))

但是它没有给我想要的输出。它只是将两个数据集中的所有内容组合在一起吗?

任何帮助将不胜感激!

如果我理解问题这应该工作:

library(dplyr)
left_join(Dataset1, Dataset2, by=c("Fips", "County", "Date"))

这里有不同类型连接的描述:

您可以使用inner_join来获得您想要的结果:

inner_join():包含x和y中的所有行。

代码:

Dataset1 <- read.table(text ="Fips     County    Date          Result 
21001    Adair     01-03-2004    0.008 
21175    Morgan    11-21-2002    0.076", header = TRUE)
Dataset2 <- read.table(text = "Fips     County    Date          Pre
21001    Adair     01-03-2004    2.08
21001    Adair     01-04-2004    0.076
21001    Adair     01-04-2004    4.76
21017    Bourbon   01-03-2004    0.067
21175    Morgan    11-21-2002    0.076
21175    Morgan    05-04-2004    1.54
21175    Morgan    07-04-2004    0.008
21175    Morgan    11-21-2006    0.076", header = TRUE)
library(dplyr)
inner_join(Dataset1, Dataset2)
#> Joining, by = c("Fips", "County", "Date")
#>    Fips County       Date Result   Pre
#> 1 21001  Adair 01-03-2004  0.008 2.080
#> 2 21175 Morgan 11-21-2002  0.076 0.076

由reprex包(v2.0.1)创建于2022-07-16

相关内容

  • 没有找到相关文章