请选择 进入手机版 | 继续访问电脑版
楼主: lanhong1993
2552 8

[问答] 求助,怎么用R画这样的条形图? [推广有奖]

  • 1关注
  • 1粉丝

博士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
2701 个
通用积分
3.4261
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
12167 点
帖子
214
精华
0
在线时间
141 小时
注册时间
2016-11-1
最后登录
2024-3-26

lanhong1993 发表于 2017-4-28 13:58:13 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
152348zxnvtelvzzvxk6xc.png
152412w4stmnm6g4nt16zk.jpg

tie46_test.xlsx (163.6 KB)



如图,表格中每一行代表一个病人,四个变量分别是白细胞,CRP,中性粒细胞和白蛋白,分为low和high的二分类。结局为是否存活。实际病人数有几千例,不止五个。现在我想画出一个条形图(如图二所示),横坐标是这四个指标,每个指标有两个柱子,分别代表高浓度和低浓度。柱子都是一样高的,并且能看出死亡率。这该怎么画呢?用R怎么做(不好意思又发了一次,这次附上了原始数据)?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:条形图 High 不好意思 原始数据 怎么做

Eric1028 发表于 2017-4-28 18:58:26 |显示全部楼层 |坛友微信交流群
  1. library(tidyverse)
  2. dat <- readxl::read_xlsx('tie46_test.xlsx')

  3. p <- dat %>%
  4.   gather(key = type, value = val, -death, -patient_id) %>%
  5.   group_by(type, val) %>%
  6.   summarise(p = sum(death)/n())

  7. p %>% ggplot(aes(type, p, fill = val)) +
  8.   geom_bar(stat = 'identity', position = 'dodge')
复制代码

a.png

使用道具

lanhong1993 发表于 2017-4-28 19:29:27 来自手机 |显示全部楼层 |坛友微信交流群
Eric1028 发表于 2017-4-28 18:58
按照你的方法,我画出来的图形,每个柱子的颜色都不一样,这该怎么调整呢?

使用道具

lanhong1993 发表于 2017-4-28 19:43:39 来自手机 |显示全部楼层 |坛友微信交流群
Eric1028 发表于 2017-4-28 18:58
另外,我还有一列数据没有放上来,就是病人的病情严重程度severity,分为0,1,2。那么我怎么根据病情严重程度画出三个这样的图呢?查了下资料说是要用facet,这该怎么做呢?

使用道具

Eric1028 发表于 2017-4-28 20:10:28 |显示全部楼层 |坛友微信交流群
*
顏色是根據fill = 的那個變數而決定,像是val有high跟low兩種值,所以有兩個顏色
*
那在整資料的時候,要先group_by這個security --> group_by(security, type, val),然後畫圖的時候最後再+facet_wrap(~security)

使用道具

Mutually_Sincer 学生认证  发表于 2017-4-29 13:19:35 |显示全部楼层 |坛友微信交流群
与你描述的不太一样
QQ截图20170429131935.jpg

使用道具

lanhong1993 发表于 2017-4-29 13:22:59 来自手机 |显示全部楼层 |坛友微信交流群
Mutually_Sincer 发表于 2017-4-29 13:19
与你描述的不太一样
圈圈里的比例是怎么放上去的呢?还有,能不能根据low和high分出两个柱子?

使用道具

Mutually_Sincer 学生认证  发表于 2017-4-29 15:03:38 |显示全部楼层 |坛友微信交流群
我这个是用excel画的,只需要把你需要的各个数字统计出来就可以了。

使用道具

lanhong1993 发表于 2017-4-29 15:04:56 来自手机 |显示全部楼层 |坛友微信交流群
Mutually_Sincer 发表于 2017-4-29 15:03
我这个是用excel画的,只需要把你需要的各个数字统计出来就可以了。
长知识了,谢谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-16 21:18