问题:
把资料某栏 大于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