2013-03-19 64 views
0

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

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

谢谢你的帮助。

+0

这是一个好主意,提供一个可重现的例子来说明你的问题。如果您提供了足够的信息并至少提供了一个数据样本,您通常会得到快速回答。 – Chargaff 2013-03-19 18:37:44

+0

你好!请通过看看[**如何使一个伟大的可重复的例子**],使您的文章重现性(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-例如)为我们提供帮助。谢谢。 – Arun 2013-03-19 19:54:35

回答

1

该plyr软件包带有一个很好的小功能,称为join。你可以用它来完成你的任务。

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

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

+0

谢谢你,这似乎已经完成了我期待做的事情。 – user2187656 2013-03-19 20:13:19