R:尝试应用 lazy_dt 以使用 dtplyr 时出现 env_get_list 错误
R: Getting env_get_list error when trying to apply lazy_dt in order to use dtplyr
我正在尝试在 R Shiny 中创建仪表板。作为此仪表板的一部分,我有一个非常大的数据集,其中有一个反应性添加的列,而该数据集的三个反应性子集又是通过在不同日期过滤产生的。
到目前为止,我已经通过 dplyr 并使用 filter 和 mutate 函数实现了上述目标。但是,我注意到似乎是代码中的这些点减慢了速度。当任何触发这些 table 更新的反应变量发生变化时,处理每个 table 大约需要 10 秒。所以我希望加快速度。
我知道 dplyr 比 data.table 慢得多,但另一方面,它更容易理解语法。我也知道 dtplyr 包的存在是为了将 dplyr 代码翻译成 data.table 语法,但我无法让它工作。
我一直在看文档和一些youtube演示,据我了解,似乎为了使用dtplyr,我需要使用lazy_dt函数来转换table然后将标准 dplyr 函数应用于 table,然后使用 as.data.table() 或 as.tibble() 命令将其转换回数据 table.
然而,代码无法运行,即使我基本上遵循了与演示中完全相同的语法。
这里是一些示例代码,使用了我在主代码中导入的库,并且使用了 iris 数据集。它在 print 和 as.data.table 命令中产生以下错误:
Error in env_get_list(ns_env("data.table"), dt_funs) :
argument "default" is missing, with no default
我无法理解此错误的含义或发生原因。没有“默认”参数。 lazy_dt 唯一需要的参数是 X,这是要通过它的数据集。
这是示例代码。我正在关注这个 Youtube 教程...
https://www.youtube.com/watch?v=qwHHVU-NBLw
...您可以看到库后的前三行代码与视频中的语法完全相同,但在视频中打印功能打印 table,但我的产生错误。任何想法为什么?注意:即使将此应用于我的实际代码,我也会收到此错误,所以这不仅仅是因为我正在尝试打印 lazy_dt table.
library(shiny)
library(shinydashboard)
library(DT)
library(data.table)
library(dtplyr)
library(dplyr)
library(tidyverse)
library(Dict)
library(hash)
library(ModelMetrics)
library(vroom)
library(lubridate)
library(Rmisc)
iris_lazy <- dtplyr::lazy_dt(x=iris)
class(iris_lazy)
print(iris_lazy)
as.data.table(iris_lazy)
尝试将您的 data.table 版本升级到 >= 1.13.0。 data.table 的最低要求将在dtplyr 的下一个版本中更新。
我正在尝试在 R Shiny 中创建仪表板。作为此仪表板的一部分,我有一个非常大的数据集,其中有一个反应性添加的列,而该数据集的三个反应性子集又是通过在不同日期过滤产生的。
到目前为止,我已经通过 dplyr 并使用 filter 和 mutate 函数实现了上述目标。但是,我注意到似乎是代码中的这些点减慢了速度。当任何触发这些 table 更新的反应变量发生变化时,处理每个 table 大约需要 10 秒。所以我希望加快速度。
我知道 dplyr 比 data.table 慢得多,但另一方面,它更容易理解语法。我也知道 dtplyr 包的存在是为了将 dplyr 代码翻译成 data.table 语法,但我无法让它工作。
我一直在看文档和一些youtube演示,据我了解,似乎为了使用dtplyr,我需要使用lazy_dt函数来转换table然后将标准 dplyr 函数应用于 table,然后使用 as.data.table() 或 as.tibble() 命令将其转换回数据 table.
然而,代码无法运行,即使我基本上遵循了与演示中完全相同的语法。
这里是一些示例代码,使用了我在主代码中导入的库,并且使用了 iris 数据集。它在 print 和 as.data.table 命令中产生以下错误:
Error in env_get_list(ns_env("data.table"), dt_funs) :
argument "default" is missing, with no default
我无法理解此错误的含义或发生原因。没有“默认”参数。 lazy_dt 唯一需要的参数是 X,这是要通过它的数据集。
这是示例代码。我正在关注这个 Youtube 教程... https://www.youtube.com/watch?v=qwHHVU-NBLw ...您可以看到库后的前三行代码与视频中的语法完全相同,但在视频中打印功能打印 table,但我的产生错误。任何想法为什么?注意:即使将此应用于我的实际代码,我也会收到此错误,所以这不仅仅是因为我正在尝试打印 lazy_dt table.
library(shiny)
library(shinydashboard)
library(DT)
library(data.table)
library(dtplyr)
library(dplyr)
library(tidyverse)
library(Dict)
library(hash)
library(ModelMetrics)
library(vroom)
library(lubridate)
library(Rmisc)
iris_lazy <- dtplyr::lazy_dt(x=iris)
class(iris_lazy)
print(iris_lazy)
as.data.table(iris_lazy)
尝试将您的 data.table 版本升级到 >= 1.13.0。 data.table 的最低要求将在dtplyr 的下一个版本中更新。