gpt4 book ai didi

r - 具有指定均值的样本整数值

转载 作者:行者123 更新时间:2023-12-01 13:26:29 25 4
gpt4 key购买 nike

我想在 R 中生成具有指定均值的整数样本。我使用 mu+sd*scale(rnorm(n)) 生成了一个 n 值的样本,它的 mean=mu但这会生成浮点值;我想生成整数值。例如,我想生成一个 mean=4 的样本。我的样本量 n=5,生成值的一个例子是 {2,6,4,3,5}。关于如何在满足特定均值约束的同时在 R 中执行此操作的任何想法?

最佳答案

选择 n 的平均值为 m 的值等同于选择总和为 m*nn 值>。 (我假设你会坚持使用整数——否则事情会变得更难!)这是一个基于抽样分区的解决方案(加起来等于所需总数的值集)统一,但我不确定这是你想要的,因为它不是在上统一采样,而是在分区上采样......也许其他人可以做得更好,或弄清楚如何重新加权样本。

对于比您的示例大得多的情况,这种暴力解决方案也可能会失败(共有 627 个分区,总共 20 个,5604 个,总共 30 个,37338,总共 40 个 ...)

m <- 4
n <- 5
library("partitions")
pp <- parts(m*n) ## all sets of integers that sum to m*n (=20 here)
## restrict to partitions with exactly n (=5) non-zero values.
pp5 <- pp[1:5,colSums(pp>0)==n]
set.seed(101) ## for reproducibility
## sample uniformly from this set
pp5[,sample(ncol(pp5),size=1)] ## 9, 5, 4, 1, 1

关于r - 具有指定均值的样本整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26569456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com