如何使用延迟日期从两个表创建一个新表?

时间:2013-05-15 03:16:20

标签: r

我正在努力解决一些问题 1)我想从两个表创建一个新表(DF3),一个是DF1,它有大量的数据点,大约有12,000行,它有如下列名。 AQS_SITE_ID是收集数据的站点的位置,有多个站点,每个站点都有唯一的站点ID。我想将此站点ID与DF2矩阵中的站点进行匹配。我通过将zipcodes映射到坐标(SITE_LATITUDE和SITE_LONGITUDE)在DF2中创建了站点。因此,我应该通过采用前一天或前一周的PM25浓度来创建新表DF3(DF2日期2011/02/14在DF1中查找前一天或一周,但也需要匹配AQS_SITE_ID和站点位置)。

  

[1]“str_Date”
      [2]“AQS_SITE_ID”
      [3]“POC”
      [4]“DailyMeanPM25Concentration”       [5]“单位”
      [6]“DAILY_AQI_VALUE”
      [7]“DAILY_OBS_COUNT”
      [8]“PERCENT_COMPLETE”
      [9]“AQS_PARAMETER_CODE”
      [10]“AQS_PARAMETER_DESC”
      [11]“CSA_CODE”
      [12]“CSA_NAME”
      [13]“CBSA_CODE”
      [14]“CBSA_NAME”
      [15]“STATE_CODE”
      [16]“国家”
      [17]“COUNTY_CODE”
      [18]“县”
      [19]“SITE_LATITUDE”
  DF2

 Date         EMMI      ACT      pm25   SITE_ID
    2011/02/12   12345     21       11     XYZ
    2011/02/14   14321     22       12     YER
    2011/02/19   12345     21       13     XYZ
    2011/02/23   43211     13       12     YER
    2011/02/23   56341     13       12     YER

最后我应该有表DF3和

  

日期EMMI ACT PM25 SITE_ID Lag1daypm25 Lag2daypm25 Lag1Weekpm25 Sum1weekPM25

1 个答案:

答案 0 :(得分:0)

我只看一下您的重复版本:

回答你的问题,你只需要使用merge命令:

result = merge( DF1, DF2, all=TRUE)

这应该回答你的问题