繁体   English   中英

使用 r 计算 data.frame 多列中的字符出现次数

[英]using r to count character occurrences in multiple columns of data.frame

我是 R 的新手,并且有一个包含 100 列的 data.frame。 每列都是字符数据,我试图总结一个字符在每列中出现的次数。 我希望能够一次汇总所有列,而不必为每列输入代码。 我试过了

occurrences <- table(unlist(my_df)) 

但是这张表给了我所有列组合的摘要(不是每列的摘要。

当我对一列进行摘要时,我的 output 看起来是我想要的,但仅针对那一列:

BG_occurrences <- table(unlist(my_df$G))
   1   na SOME 
  17   20    1

有没有办法一次编码并获取每列中所有数据的摘要? 我希望 output 看起来像这样:

     1   na   SOME
BG:   17   20   1
sBG:  23   10   5
BX:   18   20   0
NG:   21   11   6

我们可以使用lapply/sapply循环遍历列并应用table

lapply(my_df, table)

或者它可以以矢量化的方式完成

table(c(col(my_df)), unlist(my_df))

或者使用tidyverse

library(dplyr)
library(tidyr)
my_df %>%
   pivot_longer(cols = everything()) %>%
   count(name, value)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM