一种简单的方法来模拟具有指定均值和范围的 "survey data",或具有标准化均值差的两个整数样本
A simple way to simulate "survey data" with a specified mean and range, or two samples of whole numbers with a standardised mean difference
我想模拟调查数据 - 想想人们在 1(强烈不同意)到 7(强烈同意)的范围内做出回应的调查。
我也希望能够指定模拟样本的平均值。例如,我想模拟 1 到 7 之间的 100 个数字,均值为 4,SD 为 1。
然后我想再模拟 100 个介于 1 和 7 之间的数字,均值为 3,标准差为 1。
这样,我可以计算出 d = 1.00 的效应大小。我将使用此数据进行课堂演示。
rnorm()
允许我指定平均值,但不能指定界限。
runif()
允许我指定范围而不是平均值。
sample()
允许我指定范围而不是平均值。
将 round()
应用于 rnorm()
得到整数,但有时会生成 0 或 8(例如 1-7 范围之外的数字)。是的,我可以重新编码,但这会调整我的效果大小:
round(rnorm(200, 2, 1))
有没有办法生成
具有指定均值的 1 到 7 之间的整数
或者
具有指定平均差和范围的两个样本?
如何将 truncnorm::truncnorm()
的结果四舍五入?
library(truncnorm)
set.seed(1234)
u <- round(rtruncnorm(10000, a=1, b=7, mean=3, sd=1))
summary(u)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 2.000 3.000 3.054 4.000 7.000
我想模拟调查数据 - 想想人们在 1(强烈不同意)到 7(强烈同意)的范围内做出回应的调查。
我也希望能够指定模拟样本的平均值。例如,我想模拟 1 到 7 之间的 100 个数字,均值为 4,SD 为 1。
然后我想再模拟 100 个介于 1 和 7 之间的数字,均值为 3,标准差为 1。
这样,我可以计算出 d = 1.00 的效应大小。我将使用此数据进行课堂演示。
rnorm()
允许我指定平均值,但不能指定界限。
runif()
允许我指定范围而不是平均值。
sample()
允许我指定范围而不是平均值。
将 round()
应用于 rnorm()
得到整数,但有时会生成 0 或 8(例如 1-7 范围之外的数字)。是的,我可以重新编码,但这会调整我的效果大小:
round(rnorm(200, 2, 1))
有没有办法生成 具有指定均值的 1 到 7 之间的整数 或者 具有指定平均差和范围的两个样本?
如何将 truncnorm::truncnorm()
的结果四舍五入?
library(truncnorm)
set.seed(1234)
u <- round(rtruncnorm(10000, a=1, b=7, mean=3, sd=1))
summary(u)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 2.000 3.000 3.054 4.000 7.000