首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >联营百分比

联营百分比
EN

Stack Overflow用户
提问于 2021-09-07 17:15:18
回答 1查看 89关注 0票数 0

我试图用y轴上的百分比来构造一个条形图。我有一些表格格式的数据,想把它绘制成条形图。

代码语言:javascript
复制
library(survival)

kidney$mortality <- ifelse(kidney$status==1, "Dead", "Alive")

table1(~ disease
       | mortality * sex, data=kidney )

我正试图评估每种疾病类别中死亡的人的概率,以及这样的数字类别。

  1. 适用于所有1类患者和其他疾病患者(6 %),除以其他疾病类别中死亡的1s数(6 %),因为6/6的原因,标准为100 %。

在这种情况下,总共将有8个酒吧。

我如何把这个变成y轴上百分比的实心柱状图?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-07 17:21:05

代码语言:javascript
复制
library(tidyverse)
library(survival)

代码

代码语言:javascript
复制
kidney %>% 
  #Change status from 0/1 to Dead/Alive
  mutate(status = if_else(status==1, "Dead", "Alive")) %>% 
  #Count number of observations for each combination of sex, status and disease
  count(disease,status,sex) %>%
  #Grouping by next calculation by disease and sex
  group_by(disease,sex) %>% 
  mutate(
    #Total observations for each disease and sex
    N = sum(n),
    #Percentage of status by disease and sex
    p = 100*n/N
  ) %>% 
  #Filter only the dead
  filter(status == "Dead") %>% 
  ggplot(aes(x = disease, y = p, fill = as.factor(sex)))+
  # Adding column geometry
  geom_col(position = position_dodge())+
  # Adding text in the top of the columns
  geom_text(aes(label = round(p)),position = position_dodge(1), vjust = 2)

输出

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69092242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档