【发布时间】:2021-01-23 07:19:03
【问题描述】:
我正在使用 R shiny 来创建机器学习应用程序。该应用程序使用输入小部件来创建测试观测值,然后将其馈送到随机森林模型并在单击操作按钮时输出估计值。
我想将选择的输入数据以及估计值和时间戳存储在数据表中。
我能够将所有选定的输入存储在一个表中,但是在将 2 个额外的列(估计和时间戳)添加到数据表中时遇到了一些问题。
有没有人有如何向数据表添加新列的示例?
我正在使用renderDataTable() 和dataTableOutput() 函数来创建数据表。
这是我在网上找到的用于从输入小部件创建数据表的服务器函数的代码:
server <- function(input, output, session) {
# Create the Log
saveData <- function(data) {
data <- as.data.frame(t(data))
if (exists("inputparameters")) {
inputparameters <<- rbind(inputparameters, data)
} else {
inputparameters <<- data
}
}
loadData <- function() {
if (exists("inputparameters")) {
inputparameters
}
}
# Whenever a field is filled, aggregate all form data
formData <- reactive({
data <- sapply(fields, function(x) input[[x]])
data
})
# When the Submit button is clicked, save the form data
observeEvent(input$submit, {
saveData(formData())
})
# Show the previous responses
# (update with current response when Submit is clicked)
output$inputparameters <- DT::renderDataTable({
input$submit
loadData()
})
} # End Server function
除了来自输入小部件的列之外,如何向表格添加新列?
在此先感谢您的所有意见。
【问题讨论】:
-
无法添加新列。除非你重新渲染所有表格。
-
当前存储在表中的数据现在无所谓,所以我不介意丢失它。我将如何使用新变量重新渲染表格?
标签: r shiny datatable shiny-server