R Shiny列标准

问题描述 投票:0回答:1

我有一段代码允许上传CSV文件,转换成数据表,然后显示回主面板中的UI。收集列/变量名称并将其发送回UI侧栏,并带有一个复选框以激活它们以进行其他计算。我想在侧边栏中有三列,第一列是动态拉动的列名,第二列应该是每列中找到的唯一值的当前数量,第三列是我想要将它们分成两列的类别数。

长子。 [R

fluidRow(
  column(6, checkboxGroupInput("dsnamesGrp","Variable name")),
  column(3, textOutput("output.dsordsGrp")),
  column(3, numericInput("assignBin","Bins", 12))
),

Server.R

dsnames <- c()
ordinality <- c()

observeEvent(input$datafile, ({
  dsnames <- names(data_set())
  cb_options <- list()
  cb_options[dsnames] <- dsnames
  updateCheckboxGroupInput(session, "dsnamesGrp", label = "Variable name", choices = cb_options, selected = "")

  ordinality <- lapply(data_set, function(x)length(unique(x)))
  ord_values <- list()
  ord_values[ordinality] <- renderDataTable(ordinality)
  output$dsordsGrp <- ord_values

  })
)

output$choose_columns <- renderUI({

  if(is.null(input$dataset))
    return()
  colnames <- names(contents)
  checkboxGroupInput("columns", "Choose columns", choices  = colnames, selected = "")
})

我有三个问题。一,如何收集每列的唯一值数,并将它们作为列名旁边的列表传递给UI?我以为我可以模仿我在这里找到的收集列名的代码,但我得到:

Warning: Error in as.vector: cannot coerce type 'closure' to vector of type 'list'

我用来完成这个的算法来自R Count unique values for every column

其次,如何添加标准(Ord)的列标题以及目标箱(Bins)的数量?

最后我还没有开始编写binning部分,但它将与某个用户输入框有关,以获得bin的数量。我确定它不是那么困难,但我无法弄清楚如何为每一行创建一个盒子 - 这是动态的每一列。

更新:我意识到我在这个问题中放了太多项目。答案很有帮助,我将分别发布其他问题。

r csv shiny data.table
1个回答
0
投票

正在处理的对象的类是错误的,您需要在某处“取消列表()”列表...使用下面的示例来查找脚本中每个数据对象的类:

在你的服务器上

output$info <- renderText({
   print(unlist(data_object))
})

并在您的用户界面中

textOuput('info')

并从那里调试它。

© www.soinside.com 2019 - 2024. All rights reserved.