如何将功能应用于数据框

时间:2018-07-02 21:51:46

标签: r shiny

我想创建一个用户在其中上传csv的应用程序,将我的用户定义功能应用于该数据框,然后显示此新数据框。该函数执行的操作包括将所有文本更改为小写,删除特殊字符,拆分列和更改列。目前该应用正在运行,但数据框显示为不变。

library(shiny)

source("prepare-data.R") #my function. It works perfectly outside of 
shiny. 


ui <- fluidPage(

sidebarLayout(

sidebarPanel(

  p("Step 1: Upload your csv:"),

  fileInput("file1", "Choose CSV File",
    accept = c("text/csv", "text/comma-separated 
    values,text/plain", ".csv"))
    ),

mainPanel(

  p("table will go here"),

  dataTableOutput("processedData")

)
)
)


server <- function(input, output){

data <- reactive({

    inFile <- input$file1
    if (is.null(inFile)){return()}
    read.csv(inFile$datapath, header = TRUE, sep =",")
  })

observeEvent(
    input$file1, {
        output$processedData<- renderDataTable({
            prepareData(data())Ta
        })
)

)


shinyApp(ui = ui, server = server)

谢谢!

1 个答案:

答案 0 :(得分:0)

不能在stackoverflow上发表评论,而是一个答案(但这实际上是评论,因此提前致歉)
看起来问题出在输出函数中-prepareData(data())Ta我会再次检查。如果可以,您可以共享prepareData()的代码,这可能有助于提供更好的答案。