R:グラフのプロット(ggplotと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)