我正在开发一个应用程序,该应用程序通过reactiveFileReader占用CSV并应用一些函数。在应用这些函数之前,我想修改一下数据的内容。
我知道不能直接修改响应性对象,但是我甚至不能用想要的修改创建一个新对象(在这种情况下,在数据框中添加新的列名)。
这是我在服务器代码中的位置:
data <- reactiveFileReader(1000, session, "path", read.csv)
data_new <- reactive({ colnames(data) <- c("Col 1"," Col 2","Col 3") })
output$data <- renderDataTable(data_new())
不幸的是,这会产生错误"错误:试图在小于二维的对象上设置'colnames' ">.
对如何正确修改和存储数据有什么建议吗?
多谢!
试试这个
ui <- fluidPage(
uiOutput("data1"),
uiOutput("data")
)
server <- function(input, output, session) {
data <- reactiveFileReader(1000, session, "file2.csv", read.csv)
data_new <- reactive({
df <- data()
colnames(df) <- c("Col 1"," Col 2","Col 3")
df
})
output$data <- renderTable(data_new())
output$data1 <- renderTable(head(data()))
}
shinyApp(ui, server)