簡體   English   中英

為組 R 生成隨機數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM