2
我有一個數據幀,如:在另一個數據幀,基於條件與值替換數據幀的某些值
> df <- data.frame(id=c(015,335,625,789), B=c(8,19,8,6), C=c(4,1,4,6), Source=c("Gk", "Ap", "Ap", "Kh"))
> df
id B C Source
1 015 8 4 Gk
2 335 19 1 Ap
3 625 8 4 Ap
4 789 6 6 Kh
而另一數據框:
p <- data.frame(id=c(335,625, 789), B2 = c(5,3,4))
p
id B2
1 335 5
2 625 3
3 789 4
我想在B
列替換那些值的df
的值爲B2
的p
,但僅限於那些在數據框和df$Source == "Ap"
中都有相同id
的值。
最後的數據幀應該是:
id B C Source
1 015 8 4 Gk
2 335 5 1 Ap
3 625 3 4 Ap
4 789 6 6 Kh
我知道如何更換由零或NA
S,等整列,但我只是想以取代那些按照提到的條件(並沒有for循環...)。我怎樣才能做到這一點?
在'df'你的ID是不一樣'id'在df'的'定義。請編輯這個。 –