我有以下問題:匹配列,在R中創建循環
我有數據框,看起來像這樣。我有價格,3 X和2 R的。
Date Name Price Interest
01.02.10 X 120 0.2
01.02.10 R 120 0.3
01.02.10 X 130 0.8
01.02.10 X 140 0.4
01.02.10 R 130 0.2
etc.
我想告訴R鍵找對X與同價位的&盧比,並刪除其餘。所以這應該導致:2個X和2個R(在這種情況下)。
Date Name Price Interest
01.02.10 X 120 0.2
01.02.10 R 120 0.3
01.02.10 X 130 0.8
01.02.10 R 130 0.2
etc.
爲了使它更清晰(希望):我有很多不同的價格爲每個日期。每一行中都有一個X或一個R。每個日期有很多對,例如X,價格= 120 & R,價格= 120日期1.但也有價格只與一個名稱相匹配,例如,價格= 140僅適用於名稱= X.所以我想要R做的是:檢查一個價格的機器名稱(即存在一個X和一個R相同的價格)並刪除其餘部分。實際上會導致X和R的數量相同,因爲我正在尋找配對。
我很抱歉不能發佈我試過的東西。我什麼都想不起來。
現在,到下一個問題: 如果對在那裏,我想告訴R檢查每一行。如果名稱是X,我希望它計算新的價格,如果不是隻打印現有價格。 我試過
xx <- if(Name == "X"){Price + 100*interest} else print{Price}
但它沒有工作。
感謝您的幫助
乾杯 達尼
您需要更好地解釋第一部分的邏輯。 「尋找名稱和價格對」對我來說沒有任何意義。對於第二部分,可以使用`ifelse()`而不是`if()... else`,因爲前者是矢量化的。 – Shane 2010-12-08 14:33:15
好的謝謝。我想尋找價格和名稱的匹配。所以我在我的數據框中有很多日期,它們有名稱X或R.對於每個日期,我也有價格觀察。現在,對於每個日期,應該有一對X&R上的一個價格,例如,日期1,x,價格= 120和日期1,r,價格= 120.還有其他觀察不具有匹配,即例如日期1,x,價格= 140,而沒有日期1,r,價格= 140.我想告訴R檢查匹配(即X和R在每個日期相同的價格),並刪除其餘的。現在更清楚了嗎?謝謝謝恩 – Dani 2010-12-08 14:53:26