[問題] 對照另一個matrix來補NA值

作者: ruokcnn (Dean)   2017-11-27 16:18:02
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
有兩個matrix/dataframe
row/column一樣, 但兩個是不同變數所以值不同
一個有NA值
另一個是完整的
想讓a的na值對照在b同樣row/column底下的值去補
目前寫法就是最洨慢的用兩層for loop包
在一個一個對應
想知道比較快的寫法
或者其實他可以用apply家族包但我還未參透
[程式範例]:
for(i in 1:nrow(a)){
for(j in 1:ncol(a)){
if(is.na(a[i,j])) b[i,j] else a[i,j]}
}
[環境敘述]:
請提供 sessionInfo() 的輸出結果,
裡面含有所有你使用的作業系統、R 的版本和套件版本資訊,
讓版友更容易找出錯誤
[關鍵字]:
選擇性,也許未來有用
作者: x88776544pc (龍飛五丈原)   2017-11-27 16:34:00
matrix 的話 ifelse(is.na(a),b,a)
作者: clsmbstu   2017-11-27 17:21:00
data frame的話可以a[is.na(a)] <- b[is.na(a)]#1Psmghdu 有過相關的討論

Links booklink

Contact Us: admin [ a t ] ucptt.com