0

我在两个数据帧上执行条件操作时遇到了一些困难。为了说明问题,我有三个变量:Price、State 和 Item,它们存储在具有这些列名称的数据框 (data1) 中。我使用 ddply 生成一个数据框(data2),其中包括 State 和 Item 列,以及该 State/Item 组合的平均价格(或其他一些函数)。

然后我想要做的是在原始数据框中填写一列(即一个简单的预测向量),其中列的值是 data1 中状态和项目的给定观察组合的平均值。(例如,如果 data1 中的观察具有state="Arizona"item="pen",那么我想检索存储在 data2 中与该状态/项目组合相对应的平均价格,并将其插入列中。)

感谢您的任何帮助。

4

1 回答 1

1

plyr 包带有一个很棒的小函数,叫做join. 您可以使用它来完成您的任务。

join(dat1,dat2, by=c('State','Item'))

查看 ?join 以查看可能的不同类型的连接。我很确定你想left加入。

于 2013-03-19T18:40:33.937 回答