频率变量汇总

  • 本文关键字:变量 频率 r
  • 更新时间 :
  • 英文 :


我有一个数据帧,现在我正在寻找变量的汇总计数

df <-data.frame(aa = c(NA,"bali",NA,"bali","bali",NA),
bb = c("can",NA,"can","can",NA,NA),
cc = c(NA,NA,NA,NA,"ban",NA),
dd = c(NA,NA,NA,NA,NA,NA))

只有具有任何单个值的变量的汇总计数。不包括大于0 的变量

var count
aa 3
bb 3
cc 1

您可以获取长格式的数据,删除NA值,然后删除count:

library(dplyr)
df %>% 
tidyr::pivot_longer(cols = everything(), values_drop_na = TRUE) %>%
count(name)
#  name      n
#  <chr> <int>
#1 aa        3
#2 bb        3
#3 cc        1

这行吗:

> enframe(lapply(df, function(x) table(x, exclude =  c('',NA)))) %>% unnest(value)
# A tibble: 3 x 2
name  value  
<chr> <table>
1 aa    3      
2 bb    3      
3 cc    1      
> df
aa   bb   cc dd   ee
1 <NA>  can <NA> NA <NA>
2 bali <NA> <NA> NA     
3 <NA>  can <NA> NA <NA>
4 bali  can <NA> NA     
5 bali <NA>  ban NA <NA>
6 <NA> <NA> <NA> NA <NA>
> 

最新更新