首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:绘制图形(ggplot与autoplot)

R:绘制图形(ggplot与autoplot)
EN

Stack Overflow用户
提问于 2020-11-27 15:05:06
回答 1查看 215关注 0票数 1

我正在学习这里的R教程https://rviews.rstudio.com/2017/09/25/survival-analysis-with-r/

我工作时使用的电脑既没有互联网接入,也没有USB接口--它只有R和一些预装的库。本教程要求"survival“、"ggplot2”、"ranger“、"dplyr”和"ggfortify“。我工作用的电脑除了ggfortfiy之外,所有这些库都有。显然,本教程中的一些绘图需要来自ggfortify库的名为"autoplot“的函数。

当我尝试运行教程中的代码时:

代码语言:javascript
复制
#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“库)

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-27 17:28:07

是的,这是可能的,因为autoplot函数在幕后使用了ggplot2

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65033260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档