我想创建一个用户在其中上传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)
谢谢!
答案 0 :(得分:0)
不能在stackoverflow上发表评论,而是一个答案(但这实际上是评论,因此提前致歉)
看起来问题出在输出函数中-prepareData(data())Ta
我会再次检查。如果可以,您可以共享prepareData()
的代码,这可能有助于提供更好的答案。