微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何更改 R Shiny 中数字输入框的位置

如何解决如何更改 R Shiny 中数字输入框的位置

This picture is what happens when I try @Ben 's code.

现在,输入框显示在另一个下方。我希望能够以矩阵形式显示它们,以便有 input$numoc 行和 input$inp1 列。

界面

numericInput("cols","Enter number of columns:",min=1,1),numericInput("rows","Enter number of rows:",1)

服务器

output$matrixx <- renderUI({
    k= rep(c(1:input$rows),times = input$cols)
    mx<-max(input$rows,input$cols)
    lllist <- lapply(1:(input$cols*input$rows),function(i,j=((i-1)%/%input$rows)+1,y=k[[i]]) {
        iids <- paste("inp2",i,sep="")
        names<- paste("Treatment #",j," Outcome #",y,sep="")
        list(
            numericInput(iids,names,value=0,min=0,max=1,step=0.05)
        )
    })
    do.call(tagList,unlist(lllist,recursive = FALSE))
})

解决方法

当然,我们可以在 def online_count(statuses): count = 0 for x in statuses.items(): if x =='online': count += 1 return count statuses = { "Alice": "online","Bob": "offline","Eve": "online",} print(online_count(statuses)) 中添加 fluidRowcolumn 来实现这一点。

这是一个最小的例子:

renderUI

为简单起见,我将其限制为 4 列,并以更重复但更易于阅读的格式编写。以额外的复杂性为代价,您可以让它处理更多的列,并通过使用额外的循环来缩短它。

,

这是一种方法,用两个 lapply 语句划分行和列。您可以添加 column 并根据元素数量使用静态值或动态设置 width

我还添加了 verbatimTextOutput 以显示在数字输入中输入的值作为演示。

library(shiny)

ui <- fluidPage(
  numericInput("cols","Enter number of columns:",min = 1,1),numericInput("rows","Enter number of rows:",verbatimTextOutput("values"),uiOutput("matrixx")
)

server <- function(input,output,session) {
  output$matrixx <- renderUI({
    lapply(seq(input$cols),function(i) {
      column(width = 4,lapply(seq(input$rows),function(j) {
               numericInput(paste0("inp2",i,"_",j),paste0("Treatment #",j," Outcome #",i),value = 0,min = 0,max = 1,step = 0.05)
             }))
    })
  })
  output$values = renderPrint({
    str(
      lapply(seq(input$cols),function(i) {
        lapply(seq(input$rows),function(j) {
          input[[paste0("inp2",j)]]
        })
      })
    )
  })
}

shinyApp(ui,server)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?