आर: रेखांकन रेखांकन (ggplot बनाम ऑटोप्लॉट)

Nov 27 2020

मैं यहाँ पर एक आर ट्यूटोरियल का अनुसरण कर रहा हूँ https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/

जो कंप्यूटर मैं काम के लिए उपयोग करता हूं, उसमें इंटरनेट का उपयोग नहीं है और न ही एक यूएसबी पोर्ट - यह केवल कुछ प्रीइंस्टॉल्ड लाइब्रेरी के साथ आर है। ट्यूटोरियल के लिए "अस्तित्व", "ggplot2", "रेंजर", "dplyr" और "ggfortify" की आवश्यकता होती है। जिस कंप्यूटर का मैं काम के लिए उपयोग करता हूं, उसमें ये सभी लाइब्रेरी EXCEPT ggfortfiy की हैं। जाहिरा तौर पर, इस ट्यूटोरियल में कुछ प्लॉट बनाने के लिए ggfortify लाइब्रेरी से "ऑटोप्लॉट" नामक एक फ़ंक्शन की आवश्यकता होती है।

जब मैं ट्यूटोरियल से कोड चलाने की कोशिश करता हूं:

#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 लाइब्रेरी स्थापित करने के बाद इस प्लॉट को बनाने में सक्षम हूं।

(नोट: मेरे पास "उत्तरजीवी" पुस्तकालय भी नहीं है)

धन्यवाद

जवाब

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)