R的新手 豌豆的大小。
假设我有两个独立的数据框。
df1 = tibble(
date = as.Date(c("1990-10-01", "1991-11-01", "1992-11-01")),
wage = c(4, 5, 6)
)
df2 = tibble(
date = as.Date(c("1990-01-01", "1991-01-01", "1992-01-01")),
cpi = c(2, 3, 4)
)
我希望将第二个数据框中的列添加到第一个数据框中。 此外,我希望只匹配日期。
我在想某些方法中的left_join因素,但我不确定究竟是怎么做的。
答案 0 :(得分:0)
dplyr应该为此工作。
library(dplyr)
library(lubridate)
df1$year<-year(df1$date)
df2$year<-year(df2$date)
df1<-left_join(df1,df2[c('year','cpi')],by='year')
答案 1 :(得分:0)
这应该可以解决问题
# turn dates into years
df1$date <- format(df1$date, "%Y")
df2$date <- format(df2$date, "%Y")
使用base::merge
或dplyr::lef_join
将两者合并:
merge(df1, df2, all.x = TRUE)
# or
left_join(df1, df2)