r - 在 R 中创建唯一的随机组 id
问题描述
我正在尝试在不使用 for 循环的情况下创建一个唯一的、随机分配(无替换)的组 ID。据我所知:
library(datasets)
library(dplyr)
data(iris)
iris <- iris %>% group_by(Species) %>% mutate(id = cur_group_id())
这给了我每个 iris$Species 的组 id,但是,我希望组 id 从 c(1,2,3) 随机分配,而不是根据数据集的顺序分配。
创建它的任何帮助都会非常有帮助!我确信有办法用 dplyr 做到这一点,但我很难过......
解决方案
group_by
也许您可以通过添加操作来玩一些技巧sample
,例如,
iris <- iris %>%
group_by(factor(Species, levels = sample(levels(Species)))) %>%
mutate(id = cur_group_id())
推荐阅读
- r - 重构代码以使用函数创建表
- python - 如何制作一个使用整个字符串而不是一个元素的 for 循环
- ios - 从传入通知打开应用程序时处理 UserNotification
- python - SQLAlchemy 选择一列
- node.js - Mongoose 在嵌套级别按类别分组
- python - Selenium - 如何从下拉菜单中选择一个值
- reactjs - 反应样板和自定义或添加插件有错误
- python - python-gnupg 以错误的格式加密
- html - 如何在 html 和 css 中重新创建这个形状?
- mysql - NodeJS 和 mySQL 错误:“连接 ECONNREFUSED 127.0.0.1:3306”