goe*_*ges 4 random numbers group-by r
我想为组生成相同的随机数。不幸的是,我的以下代码为每一行生成随机数。
randomised <- data %>%
group_by(`ID`)%>%
mutate(random = sample(1:100,n(), replace = TRUE))
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
您应该只选择 1 个值,sample该值将被回收用于组中的所有值。
library(dplyr)
data %>% group_by(ID)%>% mutate(random = sample(100,1))
Run Code Online (Sandbox Code Playgroud)
或者以 R 为基数:
data$random <- with(data, ave(seq_along(ID), ID,FUN = function(x) sample(100, 1)))
Run Code Online (Sandbox Code Playgroud)