0

我正在使用分段线图,并希望根据一个因素(在本例中为患者 ID)对 y 轴上的变量进行分组。如何更改 y 上刻度线的宽度,以便患者按他/她的 ID 分组,并且每个唯一 ID 只给出一个标签?

我的数据和绘图示例如下。

ggplot(data) +
  geom_segment(aes(x=age1, xend=age2, 
                   y=PatientID, yend=PatientID, colour=mortality)) + 
  scale_colour_manual(values=c("green", "red", "black"))

数据:

PatientID   age1     age2    mortality
11313          0        30        low
11313          31       50        low 
11313          51       65        med  
11313          0        10        med
11313          0        50        hi 
131NY          0        30        med
143CA          24       27        hi
165099         23       45        med
165099         46       55        hi 
165099         40       55        med
4

1 回答 1

0

我使用了提供的示例数据,但输出似乎与问题中描述的所需输出相似。患者按 ID 分组,每人只有一个标签(见11313下文)。我错过了什么吗?

截屏

library(ggplot2)

mytext <- "PatientID,age1,age2,mortality
11313,0,30,low
11313,31,50,low
11313,51,65,med
131NY,0,30,med
143CA,24,27,hi
165099,23,45,med
165099,46,55,hi"

dat <- read.table(textConnection(mytext), sep = ",",
                  check.names = FALSE,
                  strip.white = TRUE,
                  header = TRUE)

ggplot(dat) +
    geom_segment(aes(x = age1, xend = age2,
                     y = PatientID, yend = PatientID, colour = mortality)) +
    scale_colour_manual(values = c("green", "red", "black"))
于 2013-08-26T19:10:14.033 回答