R更新csv文件数据值中的选择输入值

时间:2015-10-01 10:38:03

标签: r shiny shiny-server

用户将在fileinput小部件中上传KPIFile文件。

KPIFile有两列From和To。我正在尝试使用updateselect输入函数将To列的值加载到选择输入中。它没有从列TO加载值,而是加载了一些数字。

# Loading the KPI data

KPI <- reactive({
    KPIFile<-input$KPI

    if(is.null(KPIFile))
      return(NULL)

     read.csv(KPIFile$datapath, header=input$header, sep=input$sep, 
             quote=input$quote)
    })


 #Loading the X and Y axis
 observe({

   updateSelectInput(session,"XVal", choices = KPI()[2])
   updateSelectInput(session,"YVal", choices =KPI()[2])


 })

1 个答案:

答案 0 :(得分:1)

如果没有给您带来麻烦的csv文件,很难说出现了什么问题。我的猜测是R正在将列转换为factor

为防止这种情况发生,请在函数中使用stringAsFactors = FALSE来阅读csv文件

read.csv(KPIFile$datapath, header=input$header, sep=input$sep, 
         quote=input$quote, stringAsFactors = FALSE)

或者之后用

转换它
 yourDataFrame$columnYouNeedToRead <- as.factor(yourDataFrame$columnYouNeedToRead)

或(相同)

library(magrittr)
yourDataFrame$columnYouNeedToRead %<>% as.character