使用這個DF:查找單元中的數據幀中並替換其價值沒有循環[R
DF = data.frame(m=rep(1:2,2), y=rep(1998:1999,each=2), A=c(2:5), B=c(4,NA,6,7))
> DF
m y A B
1 1 1998 2 4
2 2 1998 3 NA
3 1 1999 4 6
4 2 1999 5 7
我怎麼能代替使用作爲單個單元格的座標此值:
m = 2 ; y = 1999 ; col = 'A' ; val = 72
經過這些值我想用72替換5。
編輯。 作爲測試所有的答案,我意識到我的問題是非常基本的,並不代表我的問題。我試圖做到沒有循環,但失敗並最終使用它。
所以,我想將DF
數據幀中替換值,但使用這種其它的數據幀:
repl = data.frame(m=c(2,1), y=c(1999,1998), col=c('A','B'), val=c(72,100))
> repl
m y col val
1 2 1999 A 72
2 1 1998 B 100
這意味着repl
數據幀的每一行是在DF
替換的值。
我一直在試圖對每行使用Psidom的答案mutate(A = replace(A, m == 2 & y == 1999, 72)
,但不知道是否可以完成沒有循環或不使用列名稱。
謝謝。
'df $ A [df $ m == 2&df $ y == 1999] < - 72' –