我正在使用Shiny开发一个小型应用程序。
我今天的问题是将来自用户(反应性环境)的输入插入到现有数据框中。具体来说,我无法将输入类型从闭包转换为双精度(请参见下面的错误消息)。
我已经尝试了几种方法并搜索了问题,但没有找到任何解决方案。
非常感谢
以下是代码的简化版本:
library(shiny)
ui <- fluidPage(
navbarPage(title = "App Title",
tabPanel("Panel Header",
titlePanel("Panel Title"),
sidebarLayout(
sidebarPanel("SideBar"),
mainPanel(
numericInput("User_1","Input1", value = 1, min=0),
numericInput("User_2","Input2", value = 0.3, min=0),
actionButton(inputId = "UserValid",label = "Click me"),
dataTableOutput("df")
)#end mainPanel
)#end sidebarLayout
)#end tabPanel
)#end Navbarpage
)#end ui
server <- function(input, output) {
DB1 <- read.csv2("~/FilePathway/DB1.csv", row.names = 1, sep=",", dec=".")
UserData <- eventReactive(input$UserValid,{
data.frame(U_1 = input$User_1,
U_2 = input$User_2
)})
DB1[66,1:2] <- eventReactive(input$UserValid,{
UserData()
})
}#end server
shinyApp(ui = ui, server = server)
这是错误消息
Warning: Error in <-: incompatible types (from closure to double) in subassignment type fix
52: [<-.data.frame
50: server [#27]
Error in x[[jj]][iseq] <- vjj :
incompatible types (from closure to double) in subassignment type fix
答案 0 :(得分:0)
如果您遇到相同的问题,请转到此主题以获取部分解决方案(至少现在是这样): ShinyR : Unexpected result when exporting inputs