1
ggsurv
을 사용하여 그룹 그래프를 표시하는 데 사용되는 색을 완전히 제어하고 싶습니다. 당신은 내가 (대부분 there에서 촬영) 본 적이 무엇을 재현하는 장난감 예를 아래에서 찾을 수 있습니다 :생존 그래프에서 그룹에 색을 할당하는 방법
require(data.table)
# Function to create synthetic survival data
simulWeib <- function(N, lambda, rho, beta, rateC)
{
# covariate --> N Bernoulli trials
x <- sample(x=c(0, 1), size=N, replace=TRUE, prob=c(0.5, 0.5))
# Weibull latent event times
v <- runif(n=N)
Tlat <- (- log(v)/(lambda * exp(x * beta)))^(1/rho)
# censoring times
C <- rexp(n=N, rate=rateC)
# follow-up times and event indicators
time <- pmin(Tlat, C)
status <- as.numeric(Tlat <= C)
# data set
data.frame(id=1:N,
time=time,
status=status,
x=x)
}
set.seed(1234)
nbGroups <- 7
dat <- list()
for(k in 1:nbGroups)
{
dat.onegp <- simulWeib(N=10, lambda=0.01, rho=1, beta=-0.6, rateC=0.001)
# fit <- coxph(Surv(time, status) ~ x, data=dat.onegp)
dat.onegp <- mutate(dat.onegp, Group = paste0("G",k))
dat[[k]] <- dat.onegp
}
dat.df <- rbindlist(dat)
dat.df.survCurv <- survfit(Surv(dat.df$time, dat.df$status) ~ dat.df$Group)
# Vector with colors to be used
cols = colorRampPalette(brewer.pal(9, "Set1"))(nbGroups)
ggsurv(dat.df.survCurv, size.est = 1) +
guides(linetype = FALSE) +
scale_colour_manual(name = "Exp. groups", breaks = sort(dat.df$Group), values = cols)
색상 - 그룹 할당의 서로 다른 두 세트를 줄 것이다이 두 번 실행, 내가 원하지 않는 그. 보고서의 다른 그래프와의 일관성을 위해 항상 동일한 색상으로 표시되는 그룹이 필요합니다.
NB : 색상이 표시되는 순서가 생존 데이터와 연결되어 있지만 색상 할당을 강제하는 방법을 알 수 없습니다.
도움을 주시면 감사하겠습니다.