R : 그래프 플로팅 (ggplot vs autoplot)

Nov 27 2020

여기에 R 튜토리얼을 따르고 있습니다. https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/

업무용으로 사용하는 컴퓨터에는 인터넷에 액세스 할 수없고 USB 포트도 없습니다. 일부 라이브러리가 사전 설치된 R 만 있습니다. 이 튜토리얼에는 "survival", "ggplot2", "ranger", "dplyr"및 "ggfortify"가 필요합니다. 내가 업무에 사용하는 컴퓨터에는 ggfortfiy를 제외한 모든 라이브러리가 있습니다. 이 튜토리얼의 일부 플롯을 만들려면 ggfortify 라이브러리에서 "autoplot"이라는 함수가 필요합니다.

튜토리얼에서 코드를 실행하려고 할 때 :

#load libraries
library(survival)
library(ranger)
library(ggplot2)
library(dplyr)

#load data
data(veteran)
head(veteran)

# Kaplan Meier Survival Curve
km <- with(veteran, Surv(time, status))
km_fit <- survfit(Surv(time, status) ~ 1, data=veteran)

#plot(km_fit, xlab="Days", main = 'Kaplan Meyer Plot') #base graphics is always ready


#here is where the error is 
autoplot(km_fit)

다음과 같은 오류가 발생합니다. Error: Objects of type survfit not supported by autoplot.

누구든지 이것을 고치는 방법을 알고 있습니까? ggfortify 라이브러리없이 비슷한 플롯을 만들 수 있습니까? ggplot2로 만들 수 있습니까?

개인용 컴퓨터에서 ggfortify 라이브러리를 설치하면이 플롯을 만들 수 있습니다.

(참고 : "survminer"라이브러리도 없습니다)

감사

답변

Till Nov 27 2020 at 16:28

예, autoplot기능 ggplot2이 내부적으로 사용 하기 때문에 가능합니다 .

tibble(time = km_fit$time, surv = km_fit$surv, 
       min = km_fit$lower, max = km_fit$upper) %>% 
  ggplot(aes(x = time)) +
  geom_line(aes(y = surv)) +
  geom_ribbon(aes(ymin = min, ymax = max), alpha = 0.3)