【发布时间】:2019-12-04 08:19:06
【问题描述】:
我想在分组后对 data.frame 的 Min 到 Max 列中的任意数字进行采样,并且每个组都有不同的种子。我尝试了几种方法,您可以在下面的可重现示例中看到它们,但它们都不起作用。
data.frame 由四列组成:
letters - 我的分组变量
seed - 一个动态的和特定于组/字母的整数
min - 最小值sample() 的值
max - sample() 的最大值
这是一个可重现的例子:
set.seed(123)
data.frame(letter = sample(letters[1:3],20, replace=TRUE)) %>%
group_by(letter) %>%
summarise(seed = n()) %>%
mutate(min = ifelse(letter == "a", 20,
ifelse(letter == "b", 40, 60)),
max = ifelse(letter == "a", 30,
ifelse(letter == "b", 50, 70))) %>%
group_by(letter) %>%
# set.seed(seed) %>% # or mutate(randomNumber = sample(min:max, 1, set.seed(seed))) # these aren't working, but I hope you get my point
mutate(randomNumber = sample(min:max, 1))
非常感谢!
【问题讨论】: