[英]Generate random numbers for groups R
我想為組生成相同的隨機數。 不幸的是,我下面的代碼為每一行生成隨機數。
randomised <- data %>%
group_by(`ID`)%>%
mutate(random = sample(1:100,n(), replace = TRUE))
任何幫助表示贊賞。
您應該只從sample
選擇 1 個值,該值將被循環用於組中的所有值。
library(dplyr)
data %>% group_by(ID)%>% mutate(random = sample(100,1))
或者在基數 R 中:
data$random <- with(data, ave(seq_along(ID), ID,FUN = function(x) sample(100, 1)))
data.table
一個選項:
setDT(data)[, random := sample(100, 1), ID]
不知道為什么我們需要這個,如果我們試圖匿名化 ID( mtcars示例數據中的cyl列),那么這對我來說是非常隨機的:
library(dplyr)
mtcars %>%
mutate(random = as.integer(as.factor(cyl)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.