我正在获取一个值列表并尝试使用 magrittr 找到那些不是 NA 的值。这是一个简单的例子:
data.frame(data = c(1:2, NA, 4:5, NA, 7)) %>% is.na
这会产生正确的结果:
data
[1,] FALSE
[2,] FALSE
[3,] TRUE
[4,] FALSE
[5,] FALSE
[6,] TRUE
[7,] FALSE
当我将 not 运算符!
放在 前面时is.na
,出现错误:
data.frame(data = c(1:2, NA, 4:5, NA, 7)) %>% !is.na
给我
Error in FUN(left, right) : operations are possible only for numeric, logical or complex types
经过多次试验,我偶然发现了这个,它有效:
data.frame(data = c(1:2, NA, 4:5, NA, 7)) %>% is.na %>% !.
data
[1,] TRUE
[2,] TRUE
[3,] FALSE
[4,] TRUE
[5,] TRUE
[6,] FALSE
[7,] TRUE
我的问题是是否有不同的方法来做到这一点。包中还有其他别名选项,但我没有看到它们的任何示例。一是“不”。也许我应该改用它?
我意识到我已经在一定程度上回答了我的问题,但我想知道是否可以做到这一点而不必%>% !.
在最后求助。