numeri c значения неправильно распознаются в блестящем приложении - PullRequest
0 голосов
/ 09 июля 2020

Я хотел бы превратить этот код в блестящее приложение, в котором я хочу выбирать входные данные из имен столбцов df.miRNA.cpm.t, а затем строить объект fitSurv. Имена столбцов (кроме TimeDiff и Status) должны быть раскрывающимся меню.

Я получаю сообщение об ошибке, что x не является числом c.

df.miRNA.cpm.t <-    structure(list(hsa_miR_524_5p = c(-1.25502104562923, -1.27256722242831, 
-1.33134902421063, -1.1390337316217, -1.14257242781803), hsa_miR_548aq_5p = c(-1.25502104562923, 
-1.27256722242831, -1.33134902421063, -1.1390337316217, -1.14257242781803
), hsa_miR_6778_5p = c(-1.25502104562923, -1.27256722242831, 
-1.33134902421063, -1.1390337316217, -1.14257242781803), hsa_miR_6812_5p = c(-1.25502104562923, 
-1.27256722242831, -1.33134902421063, -1.1390337316217, -1.14257242781803
), hsa_miR_3122 = c(-1.25502104562923, -1.27256722242831, -1.33134902421063, 
-1.1390337316217, -1.14257242781803), hsa_miR_3923 = c(-1.25502104562923, 
-1.27256722242831, -1.33134902421063, -1.1390337316217, -1.14257242781803
), hsa_miR_4465 = c(-1.25502104562923, -1.27256722242831, -1.33134902421063, 
-1.1390337316217, -1.14257242781803), hsa_miR_4641 = c(-1.25502104562923, 
-1.27256722242831, -1.33134902421063, -1.1390337316217, -1.14257242781803
), TimeDiff = c(71.0416666666667, 601.958333333333, 1130, 1393, 
117.041666666667), Status = c(1L, 1L, 0L, 0L, 1L)), row.names = c("86", 
"175", "217", "394", "444"), class = "data.frame")


ui <- fluidPage(
    selectInput("MicroRNA", "miRNA", choices = unique(colnames(df.miRNA.cpm.t[,1:8]))),
    plotOutput("myplot"))

server <- function(input, output, session) {
        output$myplot <- renderPlot({
        fitSurv <- survfit(Surv(as.numeric(as.character(df.miRNA.cpm.t$TimeDiff)), as.numeric(as.character(df.miRNA.cpm.t$Status))) ~ paste(cut(as.numeric(as.character(input$MicroRNA))   , quantile(input$MicroRNA   , probs = c(0, 0.8)), include.lowest=T)), data = as.data.frame((df.miRNA.cpm.t)))
        ggsurvplot(fitSurv ,title="", xlab="Time (Yrs)", ylab="Survival prbability",
                   font.main = 8,
                   font.x =  8,
                   font.y = 8,
                   font.tickslab = 8,
                   font.legend=8,
                   pval.size = 3,
                   pval.coord = c(1000,1),
                   size=0.4,
                   legend = "right",
                   censor.size=2,
                   break.time.by = 365,
                   pval =T,#"p=0.003",#"p=0.41",
                   #xscale=365,
                   #palette = c("#E7B800", "#2E9FDF"),
                   #ggtheme = theme_bw(),
                   risk.table = F,
                   xscale=365.25,
                   xlim=c(0,7*365))
        
        
    })
}

shinyApp(ui, server)
...