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)