如何上传文件并在R中命名列? 目标

如何上传文件并在R中命名列? 目标,r,shiny,R,Shiny,要在读取数据的闪亮应用程序中上载文件,请在显示绘图输出之前命名变量(列)并进行一些数据分析 参考闪亮应用程序 我正在使用Shiny gallery中的此应用程序作为参考: 我所尝试的: 在做了不同的分析之后,我想在许多输出中使用上传的数据。因此,我不是在renderable或renderPlot中读取文件,而是在server函数中读取文件: server <- function(input, output) { inFile <- reactive({input$file1

要在读取数据的闪亮应用程序中上载文件,请在显示绘图输出之前命名变量(列)并进行一些数据分析

参考闪亮应用程序 我正在使用Shiny gallery中的此应用程序作为参考:

我所尝试的: 在做了不同的分析之后,我想在许多输出中使用上传的数据。因此,我不是在
renderable
renderPlot
中读取文件,而是在
server
函数中读取文件:

server <- function(input, output) {
     inFile <- reactive({input$file1})
     sdf <- reactive({read.csv(inFile()$datapath, header=F)})     

colnames(sdf()) <- c('Vehicle.ID', 'Time', 'Vehicle.class.no', 'Vehicle.type2', 
                         'Vehicle.Length', 'Lane', 'Preceding.Vehicle.ID', 'Spacing','Spacing2', 'State',
                         'svel.mps', 'deltaV.mps', 'sacc', 'lane.change')  }

server您最好在
read.csv

server <- function(input, output) {
     inFile <- reactive({input$file1})
     sdf <- reactive({
         read.csv(inFile()$datapath, header=F, col.names = c('Vehicle.ID', 'Time', 'Vehicle.class.no', 'Vehicle.type2', 
            'Vehicle.Length', 'Lane', 'Preceding.Vehicle.ID', 'Spacing','Spacing2', 'State',
            'svel.mps', 'deltaV.mps', 'sacc', 'lane.change')  
         )
     }) 
}

server另一种方法是使用
action按钮
,然后在上载文件时检查文件的有效性。当某些东西被“触发”时,例如上传文件或按下按钮时,许多“观察事件”可能适合触发。此外,要进行一系列更改,最好基于标志(我承认,这有点混乱,但可以与Shiny一起使用,因为它没有像JS那样的正确回调框架)启动“更新”
reactiveValue()

尝试从
sdf()
中删除
()
server <- function(input, output) {
     inFile <- reactive({input$file1})
     sdf <- reactive({
         read.csv(inFile()$datapath, header=F, col.names = c('Vehicle.ID', 'Time', 'Vehicle.class.no', 'Vehicle.type2', 
            'Vehicle.Length', 'Lane', 'Preceding.Vehicle.ID', 'Spacing','Spacing2', 'State',
            'svel.mps', 'deltaV.mps', 'sacc', 'lane.change')  
         )
     }) 
}
server <- function(input, output) {
     inFile <- reactive({input$file1})
     sdf <- reactive({
         dd<-read.csv(inFile()$datapath, header=F)
         colnames(dd) <- c('Vehicle.ID', 'Time', 'Vehicle.class.no', 'Vehicle.type2', 
            'Vehicle.Length', 'Lane', 'Preceding.Vehicle.ID', 'Spacing','Spacing2', 'State',
            'svel.mps', 'deltaV.mps', 'sacc', 'lane.change')  
         )
         dd
     }) 
}