【发布时间】:2017-03-09 11:19:56
【问题描述】:
我正在做以下事情:
- 使用 R ShinyUI,获取客户端对变量 A、B、C 范围的输入;
- 在 R ShinyServer 中,读取 csv 文件,并使用客户端输入对 csv 进行切片,并获取我需要的部分;
- 在 csv 上执行循环计算,从循环输出计算各种统计数据,并绘制所有这些统计数据。
伪代码:
data = read.csv('file.csv')
shinyServer(function(input, output) {
data <- reactive({
data = data[data$A<INPUT1 & data$B> INPUT2 & data$C<INPUT3,]
})
for (i in 1:dim(data)[1]){
result1[i] = xxx
result2[i] = xxx
}
output$plot <- renderPlot({
plot(result1)
})
})
上面的代码不起作用。我想知道:
- 如何正确合并用户输入并获取变量“数据”
- 如何从 output$plot 中绘制 result1 和 result2
谢谢!
【问题讨论】:
-
我不是很清楚你的问题,但假设“INPUT”是闪亮的 UI 元素,你可以使用
input$inputname访问它们。要读取 csv,您需要在 UI 中使用fileInput()并在服务器中捕获它,例如data <- read.csv(input$inputname$datapath)。见这里:shiny.rstudio.com/gallery/upload-file.html
标签: r shiny shiny-server