簡體   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