【发布时间】:2019-01-18 16:47:37
【问题描述】:
我现在尝试更改具有以下结构的现有数据框的时间太长了:
A<-c(1,NA)
B<-c(2,NA)
df<-data.frame(A,B)
>df
A B
1 1 2
2 NA NA
我想在 UI 中显示数据框,并更改一个 csv 文件,用数据框的数据覆盖它。
我想达到的路径:
- 数据帧最初加载到 R 中。
- 用户在应用程序的滑块上选择一个值。然后将该值写入 A2 以覆盖 NA。之后,应该将整个内容写入 CSV 文件。
到目前为止问题的孤立部分:
library("shiny")
x<- .. #(csvupload)
ui <- fluidPage(
#Copy of x
xchange<-x
#The slider where the user chooses a value
sliderInput("slider", label = "Slider", min = 0,
max = 3,step=0.001, value =1),
#Print of the changed database
textOutput("xchange"))
server<-function(input,output,session){
observeEvent(input$Slider,{
x$A[x$Szenarios=="2"]<-input$slider
})
output$xchange<-renderValues({
input$x})
}
我得到错误:
Error code:argument should be a character vector of length 1
all but the first element will be ignored
Warning: Error in reactiveValues: All arguments passed to reactiveValues() must be named.
我想我使用了 observeEvent、renderValues 或两者都错了,或者 textOutput 在这里使用是个坏主意。但是..我不知道...
我真的不需要打印它,但我认为这可能是控制我所做的事情是否正确的最佳方式。
【问题讨论】:
-
您的数据框应该处于响应式调用中,以便在用户单击观察事件按钮时可以不断更新 - 还请提供一个 reprex 示例,以便我们查看您拥有的数据,然后我们可以为你制作一个 ui 和服务器闪亮的应用程序示例