首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >闪烁中的ggsurv图: p-value = TRUE时的错误

闪烁中的ggsurv图: p-value = TRUE时的错误
EN

Stack Overflow用户
提问于 2022-05-11 16:31:24
回答 1查看 83关注 0票数 0

我试图在光辉中做一个生存的情节,但是当我试图在这个情节中设定p值时,我有一个错误的行为。当p值被禁用时,绘图就可以了。但是当pval = TRUE时,我会得到一个错误,说它找不到"surv_object“函数。使用局部变量可以很好地工作。

代码语言:javascript
复制
rm(list = ls())

library(shiny)
library(shinyauthr)
library(survival)
library(survminer)

time=c(23,6,53,28,8,5,47,2,4,4,8,25,22,6,6,4,25,25,28,28,28,28,30,31,13,33,16,22,28,6,13,23,23,14,21,18,9,13,10,23,34,39,0,4,16,11,30,44)
death=c(1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,1,0)
var=c("Wild","Wild","Wild","Wild","Wild","Wild","Wild","Alt","Wild","Alt","Wild",
        "Wild","Alt","Wild","Wild","Alt","Wild","Wild","Wild","Alt","Wild","Wild",
        "Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild",
        "Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Alt","Wild",
        "Wild","Wild","Alt","Alt")

data = data.frame(
  time = time,
  death = death,
  var = var)

ui = fluidPage(
  fluidRow(
    column(5,
           plotOutput(outputId = "plot1")
    ), 
    column(5,
           plotOutput(outputId = "plot2")
    )
  )
)

server = function(input, output) {
  
  surv_object = reactive({
    so = Surv(time = data$time, event = data$death)
  })
  
  # this works fine
  output$plot1 = renderPlot({
    fit = survfit(formula = surv_object() ~ var, data = data)
   ggsurvplot(fit = fit,  data = data)
  })
  
  # when pval=TRUE, stop works.
  output$plot2 = renderPlot({
    fit = survfit(formula = surv_object() ~ var, data = data)
    ggsurvplot(fit = fit,  data = data, pval = TRUE)
  })
  
}

shinyApp(ui=ui, server = server)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-12 11:29:03

这似乎起了作用:

代码语言:javascript
复制
library(shiny)
library(survival)
library(survminer)

time=c(23,6,53,28,8,5,47,2,4,4,8,25,22,6,6,4,25,25,28,28,28,28,30,31,13,33,16,22,28,6,13,23,23,14,21,18,9,13,10,23,34,39,0,4,16,11,30,44)
death=c(1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,1,0)
var=c("Wild","Wild","Wild","Wild","Wild","Wild","Wild","Alt","Wild","Alt","Wild",
        "Wild","Alt","Wild","Wild","Alt","Wild","Wild","Wild","Alt","Wild","Wild",
        "Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild",
        "Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Wild","Alt","Wild",
        "Wild","Wild","Alt","Alt")

data = data.frame(
  time = time,
  death = death,
  var = var)

ui = fluidPage(
  fluidRow(
    column(5,
           plotOutput(outputId = "plot2")
    )
  )
)

server = function(input, output) {
  
  surv_object = reactive(Surv(time = data$time, event = data$death))
  
  output$plot2 = renderPlot({
    ggsurvplot(do.call(survfit,
            list(formula = surv_object() ~ var, data=data)), pval=TRUE)
  })
}

shinyApp(ui=ui, server = server)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72204583

复制
相关文章

相似问题

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