我在使用动物园对象的is.na
函数时遇到问题。这是我试过的:
z1 <- zoo(matrix(1:8, 4, 2), as.Date("2003-01-01") + 0:3)
z1[2,1]<-NA
所以,z1是......
2003-01-01 1 5
2003-01-02 NA 6
2003-01-03 3 7
2003-01-04 4 8
当我使用与is.na
相乘的列时,我得到:
!is.na(z1[,1])*z1[,2]
它返回了:
2003-01-01 2003-01-02 2003-01-03 2003-01-04
TRUE FALSE TRUE TRUE
然而,当我只做TRUE * 100时,程序会返回数字:
TRUE*100
[1] 100
FALSE*100
[1] 0
我应该使用什么函数让程序返回数字而不是TRUE
和FALSE
s(我在这里寻找动物园对象的!is.na
的等效函数)?
答案 0 :(得分:2)
!
的优先级低于*
,因此您的第一个示例将被解析为
!(is.na(z1[,1]) * z1[,2])
请参阅?Syntax
了解R。