r - dplyr 的 sample_frac 函数返回错误
问题描述
我将非常感谢您帮助解决这个问题。我想:
1. 理解为什么会这样 2. 解决这个问题并使用 dplyr 的 sample_frac 函数。
我在用着
sample_frac(ecom, size = 0.7)
预期结果
加载我 70% 的 ecom 数据集数据。给定结果
Error: n() should only be called in a data context Call `rlang::last_error()` to see a backtrace
错误跟踪
> rlang::last_trace() x 1. +-dplyr::sample_frac(ecom, size = 0.7) 2. +-dplyr:::sample_frac.data.frame(ecom, size = 0.7) 3. | +-dplyr::slice(...) 4. | \-dplyr:::slice.tbl_df(...) 5. | \-dplyr:::slice_impl(.data, quo) 6. +-sample.int(...) 7. +-base::sample.int(...) 8. \-dplyr::n() 9. \-dplyr:::from_context("..group_size") 10. \-`%||%`(...)
会话信息
R version 3.5.1 (2018-07-02) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 17134) Matrix products: default locale: [1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 [3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C [5] LC_TIME=German_Germany.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] readr_1.3.1 dplyr_0.8.3 loaded via a namespace (and not attached): [1] compiler_3.5.1 magrittr_1.5 tools_3.5.1 htmltools_0.3.6 [5] yaml_2.2.0 Rcpp_1.0.1 stringi_1.4.3 rmarkdown_1.14 [9] highr_0.8 knitr_1.23 stringr_1.4.0 xfun_0.8 [13] digest_0.6.20 evaluate_0.14
解决方案
问题已解决:
分离除数据集、dplyr 和 base 之外的所有包后,我退出了 Rsession。打开一个新的 Rsession 并重新加载我在错误发生之前拥有的所有包后,它运行正常:
> sample_frac(mtcars, size=0.1)
MPG Cyl Disp Hp Drat Wt QSec vs Am Gear Carb
1 17.3 8 275.8 180 3.07 3.730 17.60 17.60 0 0 3 3 3 3 3
2 19.2 8 400.0 175 175 3.08 3.845 17.05 0 0 3 3 2
3 2 3 2 3 3 3 3 3 1 14.7 8 440.0 230 3.23 3.23 3.23 3.23 5.345 17.42 17.42 0.42 0 3 4 4 4
推荐阅读
- apache - 使用 expo build:web 反应应用程序构建文件夹在主域的子目录中覆盖网址中的子 URL
- oauth-2.0 - 从 Google Oauth 获取访问令牌时获得无效授权
- ios - 对节点组应用旋转有时会翻转节点
- neo4j - 通过属性获取节点的密码查询不起作用
- excel - 计算值小于相应的下一个偏移值的行数
- python - 将 Python websocket 与 pygame 一起使用
- ruby-on-rails - Rails 6嵌套属性,销毁记录的唯一性验证失败
- php - Wordpress:自定义查询过滤器的 Elementor 自然顺序
- asp.net-core - 适用于 Azure AD 保护的 ASP.Net Core WebAPI 的 Powerapp 自定义连接器 - 获得未经授权的 401
- html - 如何将 HTML 值存储在对象中并在 Angular 的后端传递