r - 如何为闪亮的应用程序使用 plotmeans 或 geom_errorbar
问题描述
再会
我正在尝试为我闪亮的网页绘制平均值和 95% 的置信区间,但我似乎无法做到正确。
我试过两种方法
- 使用 geom_errorbar 在这里,我尝试创建一个计算 95% CI 的汇总表,然后从那里绘制。我的代码如下
ui <- fluidPage(
titlePanel("questionnaire"),
sidebarLayout(
sidebarPanel(
selectInput("question", "Choose a question",
colnames(Data[,3:(ncol(Data)-1)]))
),
mainPanel(
plotOutput("meanCI")
)
)
)
server <- function(input, output) {
ci <- reactive({
groupwiseMean(input$question ~ Date,
data = Data,
conf = 0.95,
digits = 3)
})
output$meanCI <- renderPlot(
ggplot(ci, aes(x=Date, y=Mean)) +
geom_errorbar(aes(ymin=Trad.lower, ymax=Trad.upper), width=.1) +
geom_point()
)
}
shinyApp(ui = ui, server = server)
但它给了我这个错误,
data
必须是一个数据框,或其他由 强制转换的对象fortify()
,而不是具有类 reactiveExpr/reactive 的 S3 对象
- 选项 2 是使用包中的
gplot
plotmeans
ui <- fluidPage(
titlePanel("questionnaire"),
sidebarLayout(
sidebarPanel(
selectInput("question", "Choose a question",
colnames(Data[,3:(ncol(Data)-1)]))
),
mainPanel(
plotOutput("meanCI")
)
)
)
server <- function(input, output) {
output$meanCI <- renderPlot(
plotmeans(input$question~Data$Date, connect = FALSE)
)
}
shinyApp(ui = ui, server = server)
但结果就是这个错误,
可变长度不同(为 'Data$Date' 找到)
任何帮助将不胜感激!
解决方案
library(shiny)
library(rcompanion)
library(ggplot2)
ui <- fluidPage(
titlePanel("questionnaire"),
sidebarLayout(
sidebarPanel(
selectInput("question", "Choose a question",
colnames(iris)[1:4])
),
mainPanel(
plotOutput("meanCI")
)
)
)
server <- function(input, output) {
ci <- reactive({
groupwiseMean(data = iris,
var = input[["question"]],
group = "Species",
conf = 0.95,
digits = 3)
})
output[["meanCI"]] <- renderPlot({
ggplot(ci(), aes(x=Species, y=Mean)) +
geom_errorbar(aes(ymin=Trad.lower, ymax=Trad.upper), width=.1) +
geom_point()
})
}
shinyApp(ui = ui, server = server)
您的主要错误是ggplot(ci(), ......
. 另一个是input$question ~ Date
,它不起作用,因为input$question
它是一个字符串。
推荐阅读
- c# - 将 Sustainsys 集成到 Asp.net MVC 应用程序中
- python - 使用 python argparse 解析参数
- maven - 有没有办法在不使用 maven 的情况下构建自定义 Nifi 处理器?
- kotlin - Kotlin 可选的泛型参数
- c++ - 调用没有对象的构造函数
- jquery - 将后缀/前缀添加到简单的数字计数器脚本中
- python - Concat数据框不起作用
- jquery - htaccess 重定向请求 jquery.js(Wordpress 上的 Mailchimp)
- spring-jms - QPID:添加临时消息消费者以排出队列中未处理的消息
- io - 使用 h5py 并行写入不同的组