→ andrew43: which那串用意是? 11/06 15:56
→ andrew43: 另外which是問它哪「些」符合,而你只拿一個東西問它 11/06 15:56
→ andrew43: 好像沒什麼意義吧 11/06 15:57
→ tony1331: 沒打which那個 也跑不出來 11/06 16:41
→ tony1331: 因為禮拜有NA他好像不能判斷 11/06 16:43
→ jyung: 你的 error mesagge 是which那段造成的,沒有新的 error me 11/06 17:14
→ jyung: ssage 看不出為什麼跑不出 11/06 17:14
推 ixjnkeewnoxx: 應該是if中判斷式要是logical值,而which()回傳的 11/06 17:18
→ ixjnkeewnoxx: 值不是TRUE or FALSE 所以程式拋Error給你 11/06 17:18
推 clsmbstu: 樓上說的有可能 11/06 17:33
→ clsmbstu: which那邊留is.na(A3[x,55])應該就可以了 ==TRUE不需要 11/06 17:39
→ clsmbstu: which也一樣不需要 11/06 17:39
→ clsmbstu: 另外你也可以不用寫for loop,R可以對一串值同時做邏輯 11/06 17:43
→ clsmbstu: 運算 11/06 17:43
→ clsmbstu: ToBeNA <- A3[,55] < 0 | A3[,55] > 1 | is.na(A3[,55]) 11/06 17:47
→ clsmbstu: A3[,55][ToBeNA] <- NA 11/06 17:47
→ andrew43: which那串應該是回傳了空向量才出現這個error。 11/06 18:49
→ andrew43: 我只是要小小補充 c(1,2,3,3.14) == T 的表示式是合法的 11/06 18:53
→ clansoda: 我是想問 ifelse難道不是更好的選擇嗎? 11/06 19:24
→ andrew43: 向量化自然是更好的方法。 11/06 19:36
推 clsmbstu: 剛剛試了一下andrew大的說法,可以重現錯誤,感謝! 11/06 20:21
→ clsmbstu: 也謝謝clansoda的ifelse 11/06 20:23
→ clansoda: if寫太長會有點想吐XDD 11/06 20:36
→ tony1331: 感謝大家解答 我再試試 11/07 11:32