闪亮:重命名data.frame中的列时,renderDataTable会引发错误

时间:2017-06-21 21:26:15

标签: r shiny

我有一个创建网络可视化的Shiny应用程序。当用户单击可视化中的节点时,将显示一个表格,详细说明有关此节点的信息。所有这些都很好地工作,如下面的代码所示:

output$shiny_return <- renderDataTable({
    if(!is.null(input$current_node_id)) {
       kwic.file <- paste0(input$current_node_id, "_6.csv")
       kwic.data <- read.csv(file.path(config.analysis.basedir, config.kwic.basedir, kwic.file))

       output.table <- data.frame(getLetterUrlFromFile(kwic.data$file), kwic.data$left, kwic.data$keyword, kwic.data$right)
    }
}, escape = F)

但是,数据表中的列名不是我希望它们在输出中的名称,因此我只想重命名输出中的列。我尝试在创建data.frame后添加一行代码来实现这一点:

colnames(output.table) <- c("Letter", "Left Context", "Keyword", "Right Context")

现在该函数抛出一个错误:

Error: 'data' must be 2-dimensional (e.g. data frame or matrix)

我也尝试过使用plyr重命名列,但这似乎不起作用。如果我删除这一行,一切都很好(我只是有丑陋的列名)。有什么我想念的吗?我应该以不同的方式重命名列名吗?

0 个答案:

没有答案