gpt4 book ai didi

r - 如何在 ggplot/R 中制作此直方图?

转载 作者:行者123 更新时间:2023-12-04 11:34:21 26 4
gpt4 key购买 nike

请找My data q以下。

我有两个协变量:q$Studieq$best.resp对应于五项不同的研究,每项研究都报告了某种治疗后获得的最佳 react 。
q$best.resp有三个级别

table(q$best.resp)

0 1 2
62 42 2

我想生成一个直方图来说明每个 q$best.resp全部 q$Studie和所有研究相结合(对应于 table(q$best.resp))

我已经绘制了这个示例,说明我希望情节如何。不幸的是,我没有通过手册成功。

enter image description here

我更喜欢 ggplot2 中的解决方案。请注意,所有研究只有 q$best.resp==0q$best.resp==1 - 除了 q$Studie==5 ,单独有两种情况 q$best.resp==2
My data 
q <- structure(list(Studie = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L,
5L), best.resp = c(0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L,
1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L,
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L,
1L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 2L, 0L, 2L)), .Names = c("Studie",
"best.resp"), class = "data.frame", row.names = c(NA, -106L))

最佳答案

你可以试试 tidyverse

library(tidyverse)
q %>%
as_tibble() %>%
mutate(Studie=as.character(Studie),
best.resp =as.factor(best.resp)) %>%
bind_rows(., mutate(., Studie="all")) %>%
count(Studie, best.resp) %>%
ggplot(aes(Studie, n, fill= best.resp)) +
geom_col(position = position_dodge2(preserve = "single"))

enter image description here

关于r - 如何在 ggplot/R 中制作此直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56645737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com