在屏幕中打印多行renderText

在屏幕中打印多行renderText,r,shiny,R,Shiny,我正在尝试使用对renderText函数的两个连续调用在主页上打印两行被动值。我现在只看到第二个值 如果我删除第二个renderText函数,程序会愉快地打印第一个值,但是如果我将第二个renderText函数返回到代码中,则不会打印第一个值,而会打印第二个值 我想要的是显示两个反应值(敏感性和特异性)的主页;一旦这是工作,然后我会抛出一些额外的阴谋 这是错误的render*函数,还是错误的pageWithSidebar()函数 下面是UI.R和server.R文件 #ui.R library

我正在尝试使用对renderText函数的两个连续调用在主页上打印两行被动值。我现在只看到第二个值

如果我删除第二个renderText函数,程序会愉快地打印第一个值,但是如果我将第二个renderText函数返回到代码中,则不会打印第一个值,而会打印第二个值

我想要的是显示两个反应值(敏感性和特异性)的主页;一旦这是工作,然后我会抛出一些额外的阴谋

这是错误的render*函数,还是错误的pageWithSidebar()函数

下面是UI.R和server.R文件

#ui.R

library(shiny)

# Define UI for application that draws a histogram
shinyUI(pageWithSidebar(
  headerPanel("Header"),
  mainPanel("Main"),

  # Sidebar with a slider input for the number of bins
  sidebarLayout(
    sidebarPanel(
      sliderInput("sensitivity",
                  "Sensitivity",
                  min = 0.0,
                  max = 1.0,
                  value = 0.8),
       sliderInput("specificity",
               "Specificity",
               min = 0.0,
               max = 1.0,
               value = 0.4)
    ),


    # Show a plot of the generated distribution
    mainPanel({
      textOutput("caption1")
      textOutput("caption2")
    })
  )
 )
)


and server.R

#server.R

library(shiny)

shinyServer(function(input, output) {
    output$caption1 <- renderText(input$sensitivity)
    output$caption2 <- renderText(input$specificity)
}
)
#ui.R
图书馆(闪亮)
#为绘制直方图的应用程序定义UI
shinyUI(带侧栏的页面)(
头面板(“头”),
主面板(“主面板”),
#带有滑块输入的边栏,用于输入箱子数量
侧边栏布局(
侧栏面板(
滑块输入(“灵敏度”,
“敏感性”,
最小值=0.0,
最大值=1.0,
值=0.8),
滑块输入(“特异性”,
“专一性”,
最小值=0.0,
最大值=1.0,
数值=0.4)
),
#显示生成的分布图
主面板({
文本输出(“标题1”)
文本输出(“字幕2”)
})
)
)
)
和服务器.R
#服务器.R
图书馆(闪亮)
shinyServer(功能(输入、输出){

输出$caption1对
mainPanel()
的调用中的语法稍微不正确

要修复它,请使用此

# Show a plot of the generated distribution
mainPanel(
  textOutput("caption1"),
  textOutput("caption2")
)
而不是这个

# Show a plot of the generated distribution
mainPanel({
  textOutput("caption1")
  textOutput("caption2")
})
您的版本存在的问题是,在R中,每当对大括号中的表达式求值时,只返回其中final语句的结果。您可以通过尝试以下操作来了解更普遍的情况:

{5
 6
 9}
# [1] 9

非常感谢!两个错误..在第一次和第二次textOutput()调用之间使用{}和未能包含。@user2292410很高兴这有帮助。如果这里的答案解决了您的问题,请接受它。这样其他人就会知道它已经解决了。或者,如果没有,请告诉我们它是如何失败的,以便人们可以深入挖掘。(要接受,只需单击答案旁边的复选标记。如果愿意,您也可以向上投票(使用向上箭头),尽管这不太重要。)