通过每个数据帧中的公共列将数据帧的一列连接到不等长度的现有数据帧

时间:2013-08-07 15:06:22

标签: r merge unique

我有一个大型数据集(> 100万条记录),我从中提取了Date,SiteID,SubstrateID和WinterID。我称之为dailyWinter。下面,我只显示前四个记录。每个日期定义一个WinterID。十月不是冬天,因此是“NA”。

        Date SiteID SubstrateID WinterID
1 2002-10-08  NW_SB           B     <NA>
2 2002-10-08  NW_SB           B     <NA>
3 2002-10-08  NW_SB           B     <NA>
4 2002-10-08  NW_SB           B     <NA>

我有另一个名为dataSummary的数据框(下面的前四条记录)。

          Date SiteID   SubstrateID dailyMean   dailyMedian dailySD     dailyP05    dailyP25    dailyP75    dailyP95    dailyMin    dailyMax    dailyRange  dailyCount  dailyTH16   dailyTH18   dailyTH20
1   10/08/2002  NW_SB             B 29.7885     30          0.4737452   29.0705     29.395      30          30.3795     28.89       30.56       1.67        20          0           0           0
2   10/09/2002  NW_SB             B 29.8275     29.535      0.608278    29.215      29.26       30.37       30.94       29.08       31.13       2.05        36          0           0           0
3   10/10/2002  NW_SB             B 29.8680     29.63       0.5425591   29.26       29.44       30.37       30.76       29.26       30.94       1.68        36          0           0           0
4   10/11/2002  NW_SB             B 30.3838     30.095      0.8461519   29.44       29.63       31.18       31.72       29.44       31.72       2.28        36          0           0           0

我需要dailyWinter日期框架中包含的dailySummary数据框的WinterID字段,但我只希望每个日期有一个WinterID记录,而不是多个日期(就像dailyWinter中一样数据框)。我尝试使用:

dailySummaryFinal <- merge(dataSummary, dailyWinterID, by = c("Date", "SiteID", "SubstrateID"))

这返回dailySummaryFinal,其中包含多个具有相同信息的日期,因为它与dailyWinterID的大小相同。

如何在WinterID中获取dataSummary字段,以便每个日期有一行?我是R和这个论坛的新手。您可以提供的任何帮助表示赞赏。

0 个答案:

没有答案