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

在R中用random()和row_number()分配随机排名时遇函数未找到错误

解决R中random()函数找不到的问题
  • random()不是R基础包或主流数据分析包(包括文章推荐的库)里的函数,这基本是作者的笔误。
  • 结合你这段分层处理的代码逻辑,最合理的替代是用基础R的runif()函数(生成0-1之间的均匀分布随机数),修正后的代码如下:
df_mod <- df %>% 
  group_by(is_delayed) %>% 
  mutate(x = runif(n())) %>% 
  ungroup()
  • 如果你的目标是生成每组内随机排序的行号(用于后续采样),可以改用sample.int()实现:
df_mod <- df %>% 
  group_by(is_delayed) %>% 
  mutate(x = sample.int(n())) %>% 
  ungroup()
  • 要是你最终目的是做分层随机采样,直接用dplyr的slice_sample()更简洁高效,完全不用手动生成随机值:
# 示例:每个is_delayed分组采样1000行
df_sample <- df %>% 
  group_by(is_delayed) %>% 
  slice_sample(n = 1000) %>% 
  ungroup()
  • 若你坚持怀疑作者用了某个小众包的random(),可以安装并加载sos包后运行findFn("random")搜索,但这种概率极低,优先按笔误处理。

内容的提问来源于stack exchange,提问作者Pedro Rizzi de Oliveira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:24:53