簡體   English   中英

R dplyr刪除“ <NA> 表格中的“列”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM