【发布时间】:2015-04-16 23:37:51
【问题描述】:
我在 R 中找不到这个问题的答案。 我想生成一个 0 到 1 的“RandomSample”随机样本。对于每个样本,我希望有一个特定数量的值“numval”,它来自向量“Prob”的长度。 'Prob' 给我的概率值是每个点都是 0 或 1。所以在这种情况下,第一个数字的概率值 0.9 为 1,0.1 为 0。依此类推。然后,我想重复随机样本生成 1000 次。我有一个生成随机 0 和 1 的脚本(如下),但我缺少给出概率值的组件。非常感谢您的帮助 - 我对 R 很陌生。
Prob <- c(0.9, 0.3, 0.6, 0.8, 0.23, 0.45, 0.1, 0.3, 0.5, 0.03)
RandomSample <- list()
zeroones <- c(0,1)
rep = 1000
numval <- length(Prob)
for (i in 1:rep) RandomSample[[i]] <- c(sample(zeroones,numval,replace = TRUE))
t(sapply(RandomSample, unlist, simplify = TRUE))
【问题讨论】:
-
试试这个
for (i in 1:rep) RandomSample[[i]] <- c(sample(zeroones,numval,prob = Prob[i],replace = TRUE)) -
在运行 stackoverflow 之前,您可以在提示符中尝试一个简单的“?sample”。它为您提供了明确定义如何设置随机变量概率的文档。
标签: r random probability sample random-sample