[英]R dplyr remove “<NA>” column from table
給定數據
d <- data.frame(g = sample(c(1:5,NA),100, replace = T)
,o = sample(c("yes","no",NA),100, replace = T))
有沒有一種一步方法:
s <- d %>% group_by(g, o) %>%
summarise(n = n()) %>%
ungroup() %>%
spread(o, n, fill=0)
s %>% select(which(names(s)!="<NA>"))
如果我這樣做:
s <- d %>% group_by(g, o) %>%
summarise(n = n()) %>%
ungroup() %>%
spread(o, n, fill=0) %>% select(-c("<NA>"))
我得到錯誤:
Error in -c("<NA>") : invalid argument to unary operator
名稱給出
"g" "no" "yes" "<NA>"
就像@Psidom在評論中所說,以下工作。 無論您使用引號還是反引號,都非常重要。
s <- d %>% group_by(g, o) %>%
summarise(n = n()) %>%
ungroup() %>%
spread(o, n, fill=0) %>% select(-`<NA>`)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.