按具有不同均值和标准差的组模拟整数
Simulating integers by groups with different means and standard deviations
我是一名试图模拟考试成绩数据集的教育研究员。如果我知道
- 测试分数最低为 400,最高为 800
- 分数必须是整数
- 不同的子组具有不同的历史值均值和标准差
模拟这些值的列的最佳方法是什么?假设我有如下内容:
ID
Race
Group_Mean_Score
Group_SD_Score
Sim_Score
1
B
600
37.5
?
2
B
600
37.5
?
3
A
630
24.3
?
现在...如果个人分数只能以 10 为增量怎么办?
我最初的想法是转到 rnorm()
(是的,假设分数呈正态分布),但我想强制它给出整数,如果可能的话以 10 为增量,并模拟给定的不同分布属性按组。这超出了我现在的范围。
感谢任何帮助。
对于 100 名学生的均值为 100、标准差为 10 的分布,您可以使用以下内容:
mu <- 100
sigma <- 10
N <- 100
sims <- round(rnorm(N, mu, sigma),1) * 100
鉴于上面的示例,您可以在数据中执行所有这些操作:
library(dplyr)
df <- tribble(
~ID, ~Race, ~Group_Mean_Score, ~Group_SD_Score,
1, "B", 600, 37.5,
2, "B", 600, 37.5,
3, "A", 630, 24.3
)
df %>%
mutate(Sim_Score = rnorm(nrow(.), Group_Mean_Score, Group_SD_Score))
# A tibble: 3 x 5
ID Race Group_Mean_Score Group_SD_Score Sim_Score
<dbl> <chr> <dbl> <dbl> <dbl>
1 1 B 600 37.5 571.
2 2 B 600 37.5 638.
3 3 A 630 24.3 654.
我是一名试图模拟考试成绩数据集的教育研究员。如果我知道
- 测试分数最低为 400,最高为 800
- 分数必须是整数
- 不同的子组具有不同的历史值均值和标准差
模拟这些值的列的最佳方法是什么?假设我有如下内容:
ID | Race | Group_Mean_Score | Group_SD_Score | Sim_Score |
---|---|---|---|---|
1 | B | 600 | 37.5 | ? |
2 | B | 600 | 37.5 | ? |
3 | A | 630 | 24.3 | ? |
现在...如果个人分数只能以 10 为增量怎么办?
我最初的想法是转到 rnorm()
(是的,假设分数呈正态分布),但我想强制它给出整数,如果可能的话以 10 为增量,并模拟给定的不同分布属性按组。这超出了我现在的范围。
感谢任何帮助。
对于 100 名学生的均值为 100、标准差为 10 的分布,您可以使用以下内容:
mu <- 100
sigma <- 10
N <- 100
sims <- round(rnorm(N, mu, sigma),1) * 100
鉴于上面的示例,您可以在数据中执行所有这些操作:
library(dplyr)
df <- tribble(
~ID, ~Race, ~Group_Mean_Score, ~Group_SD_Score,
1, "B", 600, 37.5,
2, "B", 600, 37.5,
3, "A", 630, 24.3
)
df %>%
mutate(Sim_Score = rnorm(nrow(.), Group_Mean_Score, Group_SD_Score))
# A tibble: 3 x 5
ID Race Group_Mean_Score Group_SD_Score Sim_Score
<dbl> <chr> <dbl> <dbl> <dbl>
1 1 B 600 37.5 571.
2 2 B 600 37.5 638.
3 3 A 630 24.3 654.