我有一个创建网络可视化的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重命名列,但这似乎不起作用。如果我删除这一行,一切都很好(我只是有丑陋的列名)。有什么我想念的吗?我应该以不同的方式重命名列名吗?