【发布时间】:2021-03-08 04:38:14
【问题描述】:
我想计算分类数据的百分比。
我有以下数据集。
library(tidyverse)
tib <- tibble(a = c("yes", "yes", "yes", "yes"),
b = c("yes", "yes", "no", "yes"),
c = c("AB", "yes", "AC", "no"),
d = c("AC", "yes", "no", "AB"),
) space = c("UP", "DO", "UP", "TA")
我想找出按空格分组的每个 a、b、c、d 列的百分比。
因此,例如,如果我们想查看“a”:
df_perc <- as.data.frame(prop.table(table(tib$space, tib$a)) * 100)
给出:
Var1 Var2 Freq
1 DO yes 25
2 TA yes 25
3 UP yes 50
这是对的。
现在,为了不对每一列都这样做,我正在尝试使用收集:
df_tidy <- tib %>%
gather(key="let", value="response", -"space")
但我必须以某种方式按“空格”分组。
然后做这样的事情:
df_perc <- as.data.frame(prop.table(table(df_tidy$let, df_tidy$response)) * 100)
【问题讨论】: