【发布时间】:2021-04-01 01:36:20
【问题描述】:
我正在运行数据中几个变量的频率表,如下所示:
frequencies1 <- data %>%
gather(variable, value,
Age,
Gender,
Comparison,
Tenure
) %>%
group_by(variable, value) %>%
summarise (n = n()) %>%
mutate(freq = ((n / sum(n, na.rm = TRUE)) * 100))
输出:
variable value n freq
Age 18-24 9 0.692
Age 25-29 2 0.153
Age 30-34 2 0.153 <- age % = 100% of 13
Comparison 4 0.307
Comparison Better 2 0.153
Comparison Same 4 0.307
Comparison Worse 3 0.230 <- comparison % = 100% of 13
WhereSeen_Facebook 1 2 0.153
WhereSeen_Instagram 1 5 0.384
WhereSeen_TV 1 9 0.692
Tenure 1 0.076
Tenure 1 year or less 12 0.923
每个变量没有相同数量的响应(即年龄 n=13、比较 n=9 等...),最终显示为低于值的空白。有没有办法运行频率并过滤掉每个变量的空行?当它们应该仅用于非空值时,比例基于总样本。
期望的输出:
variable value n freq
Age 18-24 9 0.692
Age 25-29 2 0.153
Age 30-34 2 0.153 <- age % = 100% of n = 13
Comparison Better 2 0.222
Comparison Same 4 0.444
Comparison Worse 3 0.333 <- comparison % = 100% of n = 9
WhereSeen_Facebook 1 2
WhereSeen_Instagram 1 5
WhereSeen_TV 1 9
Tenure 1 year or less 12
【问题讨论】: