R:如何在server.R中创建一个列表,其元素是由数字n索引的字符串?

R:如何在server.R中创建一个列表,其元素是由数字n索引的字符串?,r,shiny,R,Shiny,我的server.r代码中需要一行这种类型的代码(基本上在服务器中,我会将ui.r中的所有输入安排在一个列表中): x要将所有输入变量作为列表,请尝试: x <- reactiveValuesToList(input) 要以列表形式获取所有输入变量,请尝试: x <- reactiveValuesToList(input) 看:谢谢rmk!由于某些原因,它不起作用,但这是有效的:如果input是一个列表,您也可以尝试do.call(“c”,input)来连接该列表中的所有变量。在

我的server.r代码中需要一行这种类型的代码(基本上在服务器中,我会将ui.r中的所有输入安排在一个列表中):


x要将所有输入变量作为列表,请尝试:

x <- reactiveValuesToList(input)

要以列表形式获取所有输入变量,请尝试:

x <- reactiveValuesToList(input)

看:谢谢rmk!由于某些原因,它不起作用,但这是有效的:如果
input
是一个列表,您也可以尝试
do.call(“c”,input)
来连接该列表中的所有变量。在这种情况下,“c”是什么意思?当我使用res Sorry时,我想你可以试试
do.call(“c”,as.list(input))
。这里“c”是串联的(列表中的所有对象
input
)。它可以被任何其他函数替换,如
sum
等。请参阅:谢谢rmk!由于某些原因,它不起作用,但这是有效的:如果
input
是一个列表,您也可以尝试
do.call(“c”,input)
来连接该列表中的所有变量。在这种情况下,“c”是什么意思?当我使用res Sorry时,我想你可以试试
do.call(“c”,as.list(input))
。这里“c”是串联的(列表中的所有对象
input
)。它可以被任何其他函数替换,比如
sum
,等等。请参见我上面的评论。无论如何谢谢你的帮助!是的,是的!谢谢我的代码的唯一区别是,您在服务器中使用“会话”。如果这能解决问题,我会尝试使用!再次:非常感谢。我将在这里告诉您它是否有效。我复制粘贴并简化了另一段代码。此代码中不需要
会话
。现在已删除。实际上,如果您不介意共享,我可能对整个代码感兴趣,因为我正在尝试学习updateSliderInput(),这可以帮助我了解您如何链接三个滑块。关于最初的问题:我想我知道为什么。输入是一个复杂的动物,因为它包括一些字段(1到n)和一些按钮(也包括1到n),我还不知道整个内容的结构如何(如果您有兴趣,请参阅我上面的代码片段链接)。这可能就是为什么我需要特别提到这些字段,而这只是一个写得更简洁的问题请参见我上面的评论。无论如何谢谢你的帮助!是的,是的!谢谢我的代码的唯一区别是,您在服务器中使用“会话”。如果这能解决问题,我会尝试使用!再次:非常感谢。我将在这里告诉您它是否有效。我复制粘贴并简化了另一段代码。此代码中不需要
会话
。现在已删除。实际上,如果您不介意共享,我可能对整个代码感兴趣,因为我正在尝试学习updateSliderInput(),这可以帮助我了解您如何链接三个滑块。关于最初的问题:我想我知道为什么。输入是一个复杂的动物,因为它包括一些字段(1到n)和一些按钮(也包括1到n),我还不知道整个内容的结构如何(如果您有兴趣,请参阅我上面的代码片段链接)。这可能就是为什么我需要特别提到这些字段,而这只是一个写得更简洁的问题
x <- reactiveValuesToList(input)
x <- lapply(1:3, function(z) input[[paste0("field", z)]])
library(shiny)

shinyServer(function(input, output) { 
  output$restable <- renderTable({
    mylist <- lapply(1:3, function(z) input[[paste0("slide", z)]])
    data.frame(Names=c("Slider 1", "Slider 2", "Slider 3", "Sum"),
               Values=c(do.call("c", mylist), do.call("sum", mylist)))
#Values=c(do.call("c", reactiveValuesToList(input)), do.call("sum", reactiveValuesToList(input))))
  })
})
library(shiny)

# Define UI for application
shinyUI(pageWithSidebar(

  # Application title
  headerPanel("Sliders should sum to 100!"),

  # Sidebar with 3 slider inputs
  sidebarPanel(
   sliderInput("slide1", "Slider 1: ", min = 0, max = 100, value=40, step=1),
   sliderInput("slide2", "Slider 2: ", min = 0, max = 100, value = 30, step=1),
   sliderInput("slide3", "Slider 3: ", min = 0, max = 100, value = 30, step=1)
  ),

  # Create table output
  mainPanel(
    tableOutput("restable")
  )
))