【问题标题】:R - Summarising factor level count per columnR - 汇总每列的因子水平计数
【发布时间】:2021-11-10 16:52:21
【问题描述】:

我有一个数据框,其中包含所有编码为因子变量的数字列。 每列都基于只有两个选择的问题: 1=是,2=否,或缺失。 每行都是一个参与者。

这里是简化版:

Q_1  Q_2  Q_3
  1    1    1
  2    1    1
  1    2    NA
  2    1    2

理想情况下,我想创建一个概览数据框,其中每个问题作为行以及每个因素出现的变量频率计数。这也将允许我使用 dplyrs mutate 函数并计算百分比等。

我想要一个带有计数数据的框架:

      Yes  No  NA
  Q_1   2   2   0
  Q_2   3   1   0
  Q_3   2   1   1

我最初只是简单地使用 group_by 和 count 函数,但是没有真正的分组变量,因为因子级别(所有列恰好相同)将是我的分组变量。

【问题讨论】:

标签: r dplyr categorical-data data-wrangling summarize


【解决方案1】:
library(tidyverse)  

df %>% 
  pivot_longer(cols = everything()) %>% 
  mutate(value = if_else(value == 1,"Yes","No")) %>% 
  count(name,value) %>% 
  pivot_wider(names_from = value,values_from = n) %>% 
  replace(is.na(.),0)

# A tibble: 3 x 4
  name     No   Yes  `NA`
  <chr> <int> <int> <int>
1 Q_1       2     2     0
2 Q_2       1     3     0
3 Q_3       1     2     1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    相关资源
    最近更新 更多