R 表达式 - 'could not find function "setalloccol"'
R expss - 'could not find function "setalloccol"'
我正在尝试使用 expss 完成本文中围绕 table 代的一些示例 - https://cran.r-project.org/web/packages/expss/vignettes/tables-with-labels.html - 但是,我一直在使用cro
和 fre
的最基本交叉表函数,带有两个变量:
> cro(df$var1, df$var2)
Error in setalloccol(ans) : could not find function "setalloccol"
我使用的是 R Studio 1.2.1335,我已经重新安装了包 dplyr、data.table、tidyr 和 expss 本身,但我似乎仍然在所有这些库中遇到此错误 运行。我已经用谷歌搜索了我遇到的确切错误,这绝对是个问题,所以感谢任何帮助...
'Setalloccol' 是 data.table 中的一个实验性命令,用于通过引用分配内存,以确保比“:=”分配的浅拷贝更稳定。 'Expss' 看起来像个怪物图书馆。我现在不会加载它并跟踪您的错误。但由于 'setalloccol' 是一个实验性命令,您应该找到 'expss' 开发人员并提交缺陷。然而,这里已经有一个关于这个确切问题的完整的粗糙的开放错误报告:https://github.com/gdemin/expss/issues/42。 data.table ("Matt Dowle") 的开发人员在该错误报告中发表了评论。实际上 setalloccol 是这样工作的:
help(setalloccol)
data.table::truelength(HMR)
[1] 1035
options(datatable.verbose=TRUE)
data.table::setalloccol(HMR,2 * 1035)
data.table::truelength(HMR)
[1] 2081
但对于大多数 data.table 计算来说确实没有必要。尝试遍历 "expss" 代码并找出他们使用它的原因和时间。对不起,我没有更多帮助。
尝试在 运行 您的代码之前从 data.table 显式导出 setalloccol
:
setalloccol = data.table::setalloccol
# further calculations
# cro(df$var1, df$var2)
感谢 rferrisx thread from GitHub。 19 年 11 月 3 日来自 josie-athens 的 post 似乎解决了这个问题,尽管我没有 运行 R 来自 Bash。所以我的过程是:
- 卸载
expss
和 data.table
软件包:remove.packages(c('expss','data.table'))
- 重新安装以上软件包:
install.packages(c('data.table','expss'))
这个好像绕过了错误。不完全确定为什么,但希望对遇到同样事情的人有所帮助。
对于它的价值,我只是 运行 进入了同样的问题并且想给我两分钱。这似乎与您加载包的顺序有关,因为“expss”包屏蔽了“data.table”包的几个功能,反之亦然。尝试颠倒加载顺序。至少这解决了我的问题。
我正在尝试使用 expss 完成本文中围绕 table 代的一些示例 - https://cran.r-project.org/web/packages/expss/vignettes/tables-with-labels.html - 但是,我一直在使用cro
和 fre
的最基本交叉表函数,带有两个变量:
> cro(df$var1, df$var2)
Error in setalloccol(ans) : could not find function "setalloccol"
我使用的是 R Studio 1.2.1335,我已经重新安装了包 dplyr、data.table、tidyr 和 expss 本身,但我似乎仍然在所有这些库中遇到此错误 运行。我已经用谷歌搜索了我遇到的确切错误,这绝对是个问题,所以感谢任何帮助...
'Setalloccol' 是 data.table 中的一个实验性命令,用于通过引用分配内存,以确保比“:=”分配的浅拷贝更稳定。 'Expss' 看起来像个怪物图书馆。我现在不会加载它并跟踪您的错误。但由于 'setalloccol' 是一个实验性命令,您应该找到 'expss' 开发人员并提交缺陷。然而,这里已经有一个关于这个确切问题的完整的粗糙的开放错误报告:https://github.com/gdemin/expss/issues/42。 data.table ("Matt Dowle") 的开发人员在该错误报告中发表了评论。实际上 setalloccol 是这样工作的:
help(setalloccol)
data.table::truelength(HMR)
[1] 1035
options(datatable.verbose=TRUE)
data.table::setalloccol(HMR,2 * 1035)
data.table::truelength(HMR)
[1] 2081
但对于大多数 data.table 计算来说确实没有必要。尝试遍历 "expss" 代码并找出他们使用它的原因和时间。对不起,我没有更多帮助。
尝试在 运行 您的代码之前从 data.table 显式导出 setalloccol
:
setalloccol = data.table::setalloccol
# further calculations
# cro(df$var1, df$var2)
感谢 rferrisx thread from GitHub。 19 年 11 月 3 日来自 josie-athens 的 post 似乎解决了这个问题,尽管我没有 运行 R 来自 Bash。所以我的过程是:
- 卸载
expss
和data.table
软件包:remove.packages(c('expss','data.table'))
- 重新安装以上软件包:
install.packages(c('data.table','expss'))
这个好像绕过了错误。不完全确定为什么,但希望对遇到同样事情的人有所帮助。
对于它的价值,我只是 运行 进入了同样的问题并且想给我两分钱。这似乎与您加载包的顺序有关,因为“expss”包屏蔽了“data.table”包的几个功能,反之亦然。尝试颠倒加载顺序。至少这解决了我的问题。