以概率方式分配数据框列值
Assigning data frame column values probabilistically
我正在尝试创建一个名为 "students" 的数据框,其中包含四个变量:性别、年份(大一、大二、大三、大四)、年龄和 GPA。这个想法是要有一个数据框来说明四个测量级别:名义、有序、间隔和比率。
此时它看起来像这样:
ID Gender Year Age GPA
1 Male Sophomore 0 3.9
2 Male Junior 0 3.3
3 Female Junior 0 3.6
4 Male Freshman 0 3.1
5 Female Senior 0 2.9
我对年龄有疑问。我希望根据概率分配年龄。例如,如果学生是新生,我希望按以下几行分配年龄:
Age Probability
14 .47
15 .48
16 .05
我有一个功能可以像这样设置:
1: Age <- function(df) {
2: for (i in 1:nrow(df) {
3: if (df[i, 2] == "Freshman") {
4: df[i, 3] = 15
5: } else if {
6: continue through the years
7: }
8: }
9: }
我的想法是,我想将第 4 行中赋值的右侧更改为将按概率分配年龄的内容。那就是我不知道该怎么做。
与此相关,如果有比我正在考虑的方法更好的方法,我将不胜感激。
最后一点,我用 Google 搜索了整个网络,查询了 Reddit 和 Talk Stats 上的 R 论坛,并搜索了该网站上的 R 标签,但都无济于事。我不敢相信我是第一个想要做这样的事情的人,所以我突然想到,也许我对查询的措辞有误。如果是这样的话,也将不胜感激。
像这样使用sample
函数:
sample(14:16, size=1,prob=c(0.47, 0.48, 0.05))
## [1] 14
sample(14:16, size=10,rep=TRUE,prob=c(0.47, 0.48, 0.05))
## [1] 14 14 15 14 15 16 15 15 15 15
我正在尝试创建一个名为 "students" 的数据框,其中包含四个变量:性别、年份(大一、大二、大三、大四)、年龄和 GPA。这个想法是要有一个数据框来说明四个测量级别:名义、有序、间隔和比率。
此时它看起来像这样:
ID Gender Year Age GPA
1 Male Sophomore 0 3.9
2 Male Junior 0 3.3
3 Female Junior 0 3.6
4 Male Freshman 0 3.1
5 Female Senior 0 2.9
我对年龄有疑问。我希望根据概率分配年龄。例如,如果学生是新生,我希望按以下几行分配年龄:
Age Probability
14 .47
15 .48
16 .05
我有一个功能可以像这样设置:
1: Age <- function(df) {
2: for (i in 1:nrow(df) {
3: if (df[i, 2] == "Freshman") {
4: df[i, 3] = 15
5: } else if {
6: continue through the years
7: }
8: }
9: }
我的想法是,我想将第 4 行中赋值的右侧更改为将按概率分配年龄的内容。那就是我不知道该怎么做。
与此相关,如果有比我正在考虑的方法更好的方法,我将不胜感激。
最后一点,我用 Google 搜索了整个网络,查询了 Reddit 和 Talk Stats 上的 R 论坛,并搜索了该网站上的 R 标签,但都无济于事。我不敢相信我是第一个想要做这样的事情的人,所以我突然想到,也许我对查询的措辞有误。如果是这样的话,也将不胜感激。
像这样使用sample
函数:
sample(14:16, size=1,prob=c(0.47, 0.48, 0.05))
## [1] 14
sample(14:16, size=10,rep=TRUE,prob=c(0.47, 0.48, 0.05))
## [1] 14 14 15 14 15 16 15 15 15 15