【发布时间】:2018-09-25 05:34:26
【问题描述】:
我正在尝试构建一个“数据浏览器”闪亮的应用程序,其中包含 DataTables、ggplot2 图表和 wilcox.test 结果。我似乎无法让 wilcox.test 工作。
在闪亮的应用程序之外,一切正常:
dat <- data.frame(outcome=sample(c("died","survived",NA), 20, TRUE),
cntr=sample(c("hospa","hospb"), 20, TRUE),
s=rnorm(20),
t=rnorm(20), stringsAsFactors=FALSE)
wilcox.test(dat$s ~ dat$outcome)
结果:
Wilcoxon 秩和检验
数据:dat$s by dat$outcome W = 25,p 值 = 0.3301 备择假设:真实位置偏移不等于0
在闪亮的应用程序中,下面的代码给出了“错误:分组因子 > 必须恰好有 2 个级别”。 (图表可以正常工作;为了清楚起见,我省略了这些)。
library(shiny)
library(dplyr)
dat <- data.frame(outcome=sample(c("died","survived",NA), 20, TRUE),
cntr=sample(c("hospa","hospb"), 20, TRUE),
s=rnorm(20),
t=rnorm(20), stringsAsFactors=FALSE)
ui <- navbarPage(
sidebarLayout(
sidebarPanel(
selectInput(inputId = "y",
label = "Y-axis:",
choices = c("s"="s", "t"="t"),
selected = "s"),
selectInput(inputId = "z",
label = "Color by:",
choices = c("outcome", "cntr"),
selected = "outcome")
),
mainPanel(
tabsetPanel(id="tabspanel", type = "tabs",
tabPanel(title = "Wilcox"),
h4(textOutput(outputId = "p")))
)
)
)
server <- function(input, output, session) {
df <- reactive({
data.frame(input$y, input$z)
})
output$p <- renderText({
wilcox.test(df()[,1] ~ df()[,2])
})
}
shinyApp(ui=ui, server=server)
如果代码被重写:
wilcox.test(dat$s, dat$outcome)
那么错误是'错误:'x'必须是数字'。
有人可以帮忙吗?
【问题讨论】: