从两个数据帧中收集数据以存储在新数据帧中

时间:2013-11-16 23:13:43

标签: r date dataframe

我想以某种方式创建第三个数据帧,它是两个现有数据帧的组合。

两个数据框中的日期不一致,我想采用两个数据框共有的日期并将它们加载到第三个数据框中,并将第一个数据框中的“company_name”和第二个数据框中的“count”加载到第三个数据框中。

输入如下:

**Data Frame 1:**
Date    Company_Name
10/18/2013  AFAM
10/17/2013  SMN
10/16/2013  SMN
10/15/2013  AFAM
10/14/2013  AFAM

**Data Frame 2:**
data_date   normalized_company_name count
10/18/2013  Almost Family   1
10/16/2013  somename    2
10/15/2013  somename    3
10/14/2013  Almost Family   4
10/13/2013  Almost Family   5

这就是我想要的:

**Data Frame 3:**
Date    Company_Name    count
10/18/2013  AFAM    1
10/15/2013  AFAM    4

我还想提一下,所有数据框中日期列的格式为Date。我已经做了很多杂技,但似乎无法得出结论。如果我能得到一些帮助,我将非常感激。

以下是我尝试使用的一些似乎不起作用的代码

finalData$Total.Job.Count[
  as.character(finalData$Date) %in%    
    intersect(as.character(finalData$Date[finalData$Company_Name=='AFAM']) ,
  as.character(jobs$data_date[jobs$normalized_company_name=='Almost Family'])) &
    finalData$Company_Name=='AFAM']
<-
jobs$job_count_total[
  as.character(jobs$data_date) %in% 
    intersect(as.character(finalData$Date[finalData$Company_Name=='AFAM']) ,
  as.character(jobs$data_date[jobs$normalized_company_name=='Almost Family'])) & 
    jobs$normalized_company_name=='Almost Family']

非常感谢任何帮助。 TIA

1 个答案:

答案 0 :(得分:0)

merge( finalData, jobs[ , c("data_date", "count")] , by.x=1, by.y=1 )