【问题标题】:R-Shiny error: "renderDataTable" and "server=FALSE"R-Shiny 错误:“renderDataTable”和“server=FALSE”
【发布时间】:2026-02-02 20:40:01
【问题描述】:

我的应用使用

drop_download(path = path1, local_path = path2)
d <<- read.csv(path2)

读取data.frame,d,其中d是一个全局变量(虽然我不确定这条信息是否相关)。

我有

output$t <- DT::renderDataTable(d, server=FALSE) 

引发错误:

Error: C stack usage  15923744 is too close to the limit

但是,如果我评论server=FALSE,那么它运行顺利。

谁能解释发生了什么以及注释掉server=FALSE 的含义是什么?

【问题讨论】:

    标签: r shiny dt


    【解决方案1】:

    这在?renderDT 中有解释。使用server = FALSE,所有数据都发送到客户端(浏览器),而server = TRUE 仅将显示的数据发送到浏览器。你会收到一个错误,因为你的数据集太大,将它完全发送到浏览器会减慢应用程序甚至崩溃。使用server = FALSE 可以简化一些事情,例如在编辑某些单元格时不需要使用代理。但如果不修改表格内容(例如编辑单元格),使用server=TRUE 不会导致任何复杂性。

    【讨论】:

    • 感谢@Stéphane Laurent,但我认为我的数据集非常小:'data.frame': 24 obs。 5 个变量。大小不应是此错误的原因。
    • @armtar 确实,这不是renderDT 抛出的错误信息。其他地方应该有问题。您是否在重启 RStudio 后尝试过该应用程序?能贴出完整代码吗?
    最近更新 更多