2016-06-22 514 views
0

我有兩個數據幀:「bim2」在第二數據幀與值在數據幀替換值如果滿足條件

enter image description here

和「ILLUM」。

enter image description here

如果bim2匹配ILLUM V1(match(bim2$V2, illum$V1))的V2,我想在illum$V2的值來代替bim$V2。如果不匹配(bim2$V2不等於illum$V1),我想保留原始值bim$V2

我用

bim2$V2 <- illum$V2[match(bim2$V2, illum$V1)] 

但將由NAS取代了 「bim2$V2不等於illum$V1」。

+0

他們是一樣的大小?你能提供一個樣本嗎? – akash87

+0

請仔細閱讀您的問題。你說你的data.frame是bim,但是你在你的代碼中使用了bim2。還要確保替換的描述是正確的。它不符合你的'匹配'代碼:例如'illum $ v1'。 – lmo

+0

歡迎來到StackOverflow!這將幫助你寫出很好的R問題http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

回答

0

修改你定的代碼,你可以這樣做:

bim2$V2[match(bim2$V7, illum$V1)] <- illum$V2[match(bim2$V7, illum$V1)] 

它將取代相匹配的值,並保留其餘值。我希望,那個作品

+0

我想保留其餘的值...謝謝 –

+0

@GorrilleiFalciani它會保持不匹配的值,並且只會替換bim2 $ V7和illum $ V1匹配的值 –