r:每列中每个值的计数数

rhfm7lfc  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(133)

我刚开始学习r,我一直在努力做一个非常简单的任务:计算每列数据中每个值的个数。更准确地说,我的数据看起来像这样:
| | 色谱柱A| B柱|色谱柱C|
| - -----|- -----|- -----|- -----|
| 1|是的|否|否|
| 2|是的|也许吧|也许吧|
| 3|否|否|是的|
| 4|是的|否|是的|
| 5个|否|否|是的|
我希望它看起来像这样:
| | 色谱柱A| B柱|色谱柱C|
| - -----|- -----|- -----|- -----|
| 是的|3| 0| 3|
| 也许吧|0| 1| 1|
| 否|2| 4| 1|
使用table(my.data)告诉我,我试图创建一个包含2^31个元素的表,并返回一个错误。
有人能帮帮我吗?有什么简单的方法吗?
多谢了

mbzjlibv

mbzjlibv1#

问题是你的数据不是长格式的。尝试使用tidyr旋转更长的时间,然后使用janitor计算交叉表。

library(tidyr)
library(dplyr)
library(janitor)
df %>%
  pivot_longer(cols = everything(), values_to = "response", names_to = "type") %>%
  tabyl(response, type)
 response Column A Column B Column C
    MAYBE        0        1        1
       NO        2        4        1
      YES        3        0        3

数据

df <- structure(list(`Column A` = c("YES", "YES", "NO", "YES", "NO"
), `Column B` = c("NO", "MAYBE", "NO", "NO", "NO"), `Column C` = c("NO", 
"MAYBE", "YES", "YES", "YES")), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -5L))

要了解更多信息,我建议阅读以下内容:https://r4ds.had.co.nz/tidy-data.html

相关问题