精華區beta R_Language 關於我們 聯絡資訊
小弟最近想把資料(data frame)裡面的na值用0取代 查一查發現 data[is.na(data)]<-0就可以解決 但是有點想不透為什麼這樣子就可以指定到那些na的值 is.na(data)出來是一個矩陣 所以[]放矩陣也可以嗎? 規則是如何呢? 感謝各位大神 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.92.245 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1507527339.A.9F8.html
sw52099: []裡面放矩陣?什麼意思有點不懂 10/09 17:07
clsmbstu: R語言裡data frame跟matrix是不一樣的喔 感覺你有點混淆 10/09 18:28
clsmbstu: []裡面可以放邏輯值 data[is.na(data)]就挑出data裡是NA 10/09 18:31
clsmbstu: 的那些(就是一群NA值) 再加上<-0就把這些NA都換成0了 10/09 18:32
clsmbstu: 還是很難理解的話試試 x <- 1:10; x[x > 5] <- -50 10/09 18:33
x88776544pc: [] 裡如果放邏輯矩陣的話,它就依矩陣逐行逐個判斷, 10/09 18:44
x88776544pc: 只是is.na 出來的東西跟原 data 一樣size,因此對應 10/09 18:44
x88776544pc: 到原本資料中 NA 的位置 10/09 18:44
clsmbstu: 請無視我在二樓的那句 我自己眼殘 orz 10/09 21:34