2013-03-19 54 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