我试图用三个方框来编写一个图,每年一幅(N2,N1和N)。我要绘制变量"DMS“。
library(dplyr)
library(ggplot2)
mean_DMS_2021 <- NCN_dataset %>%
filter(type_de_sejour == "Hospitalisé")%>%
group_by(code_2)%>%
summarise(mean_DMS_hosp_N = mean(as.numeric(DMS_hosp_N)))
mean_DMS_2020 <- NCN_dataset %>%
filter(type_de_sejour == "Hospitalisé")%>%
group_by(code_2)%>%
summarise(mean_DMS_hosp_N1 = mean(as.numeric(DMS_hosp_N1)))
mean_DMS_2019 <- NCN_dataset %>%
filter(type_de_sejour == "Hospitalisé")%>%
group_by(code_2)%>%
summarise(mean_DMS_hosp_N2 = mean(as.numeric(DMS_hosp_N2)))
mean_DMS_hosp_19_20 <- as.data.frame(merge(mean_DMS_2019, mean_DMS_2020))
mean_DMS_hosp <- as.data.frame(merge(mean_DMS_hosp_19_20, mean_DMS_2021))
View(mean_DMS_hosp)
# I here show the mean of DMS for each year, all specialties together.
boxplot(mean_DMS_hosp$mean_DMS_hosp_N2)
boxplot(mean_DMS_hosp$mean_DMS_hosp_N1)
boxplot(mean_DMS_hosp$mean_DMS_hosp_N)我试图将我的数据转向,因为理想情况下,我希望每年绘制一个变量DMS的盒形图,以便查看该变量多年来分布的演变情况,然后是每个专业或每个"nom“方面(或任何其他能够显示不同专业之间的差异):要么只保留变量DMS的观测值之间差异最大的特性,要么过滤只保留多年来进化最多的DMS (我猜我必须创建几个显示DMS在N2和N1之间、N1和N之间的演化的变量,N2与N之间的平均年增长率)。
library(data.table)
NCN_dataset_long <- melt(data.table::setDT(NCN_dataset),
measure.vars=list(c(4,5,6), c(7,8,9) , c(10,11,12)),
variable.name='time_year',
value.name=c('sejour', 'CA',"DMS"))[,
time_year:=
paste0('N',time_year)][order(nom,type_de_sejour, code_2, site)]以下是我的数据集的结构,用于重现性:
setDT(structure(list(nom = c("CHRISTOPHE", "CHRISTOPHE",
"PABLO", "JEAN-MARC", "YVES",
"GUILLAUME"), type_de_sejour = c("Ambulatoires",
"Externes", "Ambulatoires", "Ambulatoires", "Ambulatoires", "Ambulatoires"
), code_2 = c("Ortho", "Ortho", "Neuro Chir", "Cardio", "Radio",
"ARE"), sejours_N2 = c(1046, 0, 4, 6, 4, 4), sejours_N1 = c(1001,
1, 77, 26, 9, 1), sejours_N = c(1078, 0, 115, 140, 9, 1), CA_N2 = c(609862,
0, 2002, 3296, 1457, 1253), CA_N1 = c(597436, 24, 119573, 22098,
3026, 322), CA_N = c(668426, 0, 196852, 134095, 3454, 345), DMS_hosp_N2 = c("0",
"0", "0", "0", "0", "0"), DMS_hosp_N1 = c("0", "0", "0", "0",
"0", "0"), DMS_hosp_N = c("0", "0", "0", "0", "0", "0"), site = c("PGS",
"PGS", "FRA", "FRA", "PGS", "FRA")), row.names = c(NA, -6L), class = c("data.table",
"data.frame")))发布于 2022-08-11 11:38:03
我在这里使用CA,因为你的DMS都是零。
library(ggplot2)
library(tidyr) # pivot_longer
pivot_longer(NCN_dataset, -c(nom, type_de_sejour, code_2, site), names_pattern = "(.*)_(N.*)", names_to = c(".value", "time_year")) |>
ggplot(aes(x=time_year, y=CA)) +
geom_boxplot()

您可以通过对数值属性使用x=或y=美学来控制方向。
https://stackoverflow.com/questions/73308812
复制相似问题