【发布时间】:2014-04-26 00:29:41
【问题描述】:
我有两个看起来像这样的数据框。 我们称第一个数据框为“Master”
row ID Color
1 1 c("blue", "green")
2 1 red
3 2 red
4 3 c("pink", "blue", "purple")
我们称第二个数据框为“Detail”
row ID Color Year
1 1 blue 2004
2 1 red 2000
3 1 green 2005
4 2 red 2005
5 3 pink 1999
6 3 brown 2008
7 3 blue 1997
8 3 pink 2007
我想在 Master 中添加一列,当满足两个条件时,该列是 Detail 中年份值的平均值:
- ID 匹配(这很简单)
- 当在 Master$Color 列表中找到 Detail$Color 时。 (这已被证明是困难的)。
我发现命令...
which(Detail$Color == Master$Color)
...将识别颜色模式,但将该命令应用于合并或应用语句尚未成功。
结果应该是这样的。
row ID Color Mean_Year
1 1 c("blue", "green") 2004.5
2 1 red 2000
3 2 red 2005
4 3 c("pink", "blue", "purple") 2001
我的真实数据在 Master 中有 10,000 行,在 Details 中有 8,000,000 行,如果有区别的话。
【问题讨论】: