【发布时间】:2018-12-06 18:28:57
【问题描述】:
我有一个在我的 Shiny 服务器函数中读入的数据文件。我想显示用户使用下拉菜单选择的两列的频率表。我收到错误“范围 0 的表”。我查看了R error - Table of extent 0 和Can't solve table issue,但我已经正确导入了我的数据并且列名也匹配。当我在控制台中运行时,同样的代码行。
这是我的代码:
shinyServer(function(input, output) {
output$courseData = renderPrint( {
data = read.csv(file = 'FourCourseTableLetterGrades_POLISHED.tsv', sep = '\t', header = TRUE)
c1 = input$course1
c2 = input$course2
tbl = table(data$c1, data$c2)
tbl
}
)
}
)
更新:这就是表格现在的样子:
我希望输出为矩阵格式,就像在控制台中运行 table 命令时得到的一样。我也不知道为什么这些列被命名为Var1 和Var2 以及在哪里更改它们。
【问题讨论】:
-
尝试使用
renderTable()而不是renderPrint() -
用
data[[c1]]代替data$c1怎么样 -
@BertilBaron 这会导致显示一些输出,但它是表格格式,而不是您在控制台中运行命令时看到的混淆矩阵类型的输出。你知道为什么吗?
-
@VisheshShrivastav 应用 BertilBaron 的观点后,renderTable 显示为表格格式,而 renderPrint 将矩阵全部输出在一行中。我希望看到在控制台中运行 table 命令时的输出(如矩阵)。我怎样才能做到这一点?
标签: r shiny shiny-server frequency-analysis shiny-reactivity