You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dplyr::slice_sample()时by参数失效问题求助

问题原因与解决方案

你遇到的错误是因为dplyr 1.0.10版本的slice_sample()函数并不支持by或.by参数,这个按组抽样的参数是在dplyr 1.1.0版本才新增的功能,旧版本无法识别该参数,因此会抛出... must be empty的错误。

解决办法

方法1:升级dplyr版本

将dplyr升级到1.1.0及以上版本后,你原本的代码就能正常运行:

x %>% slice_sample(n=1, by = year_, replace = TRUE)

方法2:用group_by()替代(无需升级)

如果暂时不想升级版本,可以通过group_by()按year_分组后再抽样,实现相同效果:

x %>% 
  group_by(year_) %>% 
  slice_sample(n=1, replace = TRUE) %>% 
  ungroup()

这段代码会先按year_分组,每组抽取1个样本,最后取消分组,结果和使用by参数的效果一致。

内容的提问来源于stack exchange,提问作者blnk55

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 21:22:01