問題:
把資料某欄 大於1 小於0的 令為NA
http://i.imgur.com/c3zBtv3.jpg
http://i.imgur.com/URDExKW.jpg
請問大家這跑出來是什麼問題?
謝謝~
作者:
andrew43 (討厭有好心推文後刪文者)
2017-11-06 15:56:00which那串用意是?另外which是問它哪「些」符合,而你只拿一個東西問它好像沒什麼意義吧
沒打which那個 也跑不出來因為禮拜有NA他好像不能判斷
作者:
jyung (malayung)
2017-11-06 17:14:00你的 error mesagge 是which那段造成的,沒有新的 error message 看不出為什麼跑不出
作者: ixjnkeewnoxx (Zapdos) 2017-11-06 17:18:00
應該是if中判斷式要是logical值,而which()回傳的值不是TRUE or FALSE 所以程式拋Error給你
樓上說的有可能which那邊留is.na(A3[x,55])應該就可以了 ==TRUE不需要which也一樣不需要另外你也可以不用寫for loop,R可以對一串值同時做邏輯運算ToBeNA <- A3[,55] < 0 | A3[,55] > 1 | is.na(A3[,55])A3[,55][ToBeNA] <- NA
作者:
andrew43 (討厭有好心推文後刪文者)
2017-11-06 18:49:00which那串應該是回傳了空向量才出現這個error。我只是要小小補充 c(1,2,3,3.14) == T 的表示式是合法的
作者:
andrew43 (討厭有好心推文後刪文者)
2017-11-06 19:36:00向量化自然是更好的方法。
剛剛試了一下andrew大的說法,可以重現錯誤,感謝!也謝謝clansoda的ifelse