R按值选择,避免NA

我尝试按值提取行。

col1 <- c("A", "B", "C", NA)
df <- data.frame(col1)
df$col1[col1 == "A"]

控制台中的结果是

> df$col1[col1 == "A"]
[1] "A" NA

但当然我只想要“A”。如何避免 R 选择 NA 值?顺便说一下,我认为这种行为非常危险,因为许多人会陷入这个陷阱,例如替换值、子集等。

回答

filterdplyr自动丢弃NA即使关系运算符是元件==

library(dplyr)
df %>%
   filter(col1 == 'A') %>% 
   pull(col1)
#[1] "A"

或者使用sbt(用于子集化)来自collapse

library(collapse)
sbt(df, col1 == 'A')$col1
#[1] "A"


以上是R按值选择,避免NA的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>