【发布时间】:2016-02-10 18:46:50
【问题描述】:
我有两个如下所示的数据框:
> head(y,n=4)
Source: local data frame [6 x 3]
Start Date End Date Length
1 2006-06-08 2006-06-10 3
2 2006-06-12 2006-06-14 3
3 2006-06-18 2006-06-21 4
4 2006-06-24 2006-06-25 2
和
> head(x,n=19)
Date Group.Size
413 2006-06-07 6
414 2006-06-08 3
415 2006-06-09 1
416 2006-06-10 3
417 2006-06-11 15
418 2006-06-12 12
419 2006-06-13 NA
420 2006-06-14 4
421 2006-06-15 8
422 2006-06-16 3
423 2006-06-17 1
424 2006-06-18 3
425 2006-06-19 10
426 2006-06-20 2
427 2006-06-21 7
428 2006-06-22 6
429 2006-06-23 2
430 2006-06-24 1
431 2006-06-25 0
我正在寻找一种在数据框 y 中添加新列的方法,该列将显示数据框 x 的平均 Group.Size(四舍五入到最接近的整数),具体取决于 y 中提供的给定开始日期和结束日期.
例如,在 y 的第一行,我有 6/8/06 到 6/10/06。这是 3 天的长度,所以我希望新列的数字为 2,因为对应的 Group.Size 值在数据框 x 中的相应天数分别为 3、1 和 3(平均值 = 2.33,四舍五入为最接近的整数是 2)。
如果我的数据框 x 中有 NA,我想将其视为 0。
此任务涉及多个步骤,并且可能有一个简单的方法...我对 R 相对较新,并且很难分解它。如果我应该澄清我的例子,请告诉我。
【问题讨论】: