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

看板R_Language作者 (Dean)時間8年前 (2017/11/27 16:18), 8年前編輯推噓2(201)
留言3則, 2人參與, 8年前最新討論串1/1
程式諮詢(我想用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 的版本和套件版本資訊, 讓版友更容易找出錯誤 [關鍵字]: 選擇性,也許未來有用 -- 作者 seacore07 (海角7號) 看板 Gossiping 標題 [問卦] 異性戀的男生跟女生 真的有純友誼嗎? 時間 Thu Dec 8 10:55:50 2016

有阿 我跟我老婆
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.8.106.30 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1511770689.A.627.html ※ 編輯: ruokcnn (39.8.106.30), 11/27/2017 16:20:57

11/27 16:34, 8年前 , 1F
matrix 的話 ifelse(is.na(a),b,a)
11/27 16:34, 1F
哈哈哈原來這麼簡單!!!!!!! 太感謝啦!!!!! 謝完自己去跪鍵盤 ※ 編輯: ruokcnn (39.8.106.30), 11/27/2017 16:41:48

11/27 17:21, 8年前 , 2F
data frame的話可以a[is.na(a)] <- b[is.na(a)]
11/27 17:21, 2F

11/27 17:22, 8年前 , 3F
#1Psmghdu 有過相關的討論
11/27 17:22, 3F
文章代碼(AID): #1Q6yf1Od (R_Language)
文章代碼(AID): #1Q6yf1Od (R_Language)