每次按照特定分布分配值时如何获得相同的结果
How to get the same result every time when allocating values following a specific distribution
我的数据包括邮政编码和医院。许多记录都缺少医院,我想在邮政编码中分配所有记录后将医院分配给该记录。假设在邮政编码 2211 中,医院 A 和 B 的分布是 0.3 对 0.7。此邮政编码中缺少医院的记录需要遵循相同的分布,并且每次我 运行 代码时都需要获得相同的结果。
我已经试过了:
sample(c("A","B"), nrow(df), replace=TRUE, prob=c(0.3,0.7))
这给出了预期的结果,但是当我再次 运行 代码时,记录级别的结果不同。我阅读了有关 set.seed() 的内容,但没有给出相同的输出。
我的一些数据:
postal code hospital daydate
1 2211 NA 0
2 2211 NA 6
3 2211 NA 8
4 2211 NA 15
5 2211 NA 18
6 2211 NA 18
7 2211 NA 25
8 2211 NA 30
9 2211 NA 51
10 2211 NA 55
11 2211 NA 58
12 2211 NA 59
13 2211 NA 61
14 2211 NA 61
15 2211 NA 64
16 2211 NA 66
17 2211 NA 68
18 2211 NA 69
本例中有 18 条记录,因此 13 条记录需要到达医院 A,5 条记录需要到达医院 B。例如,记录 10 始终需要是 A 而不是第二次是 B。
我希望我的问题很清楚(我第一次在这里问问题)并且有人可以帮助我!提前致谢!
set.seed
应该是解决方案:
set.seed(0)
s1 <- sample(c("A","B"), 18, replace=TRUE, prob=c(0.3,0.7))
set.seed(0)
s2 <- sample(c("A","B"), 18, replace=TRUE, prob=c(0.3,0.7))
identical(s1, s2)
#[1] TRUE
我的数据包括邮政编码和医院。许多记录都缺少医院,我想在邮政编码中分配所有记录后将医院分配给该记录。假设在邮政编码 2211 中,医院 A 和 B 的分布是 0.3 对 0.7。此邮政编码中缺少医院的记录需要遵循相同的分布,并且每次我 运行 代码时都需要获得相同的结果。
我已经试过了:
sample(c("A","B"), nrow(df), replace=TRUE, prob=c(0.3,0.7))
这给出了预期的结果,但是当我再次 运行 代码时,记录级别的结果不同。我阅读了有关 set.seed() 的内容,但没有给出相同的输出。
我的一些数据:
postal code hospital daydate
1 2211 NA 0
2 2211 NA 6
3 2211 NA 8
4 2211 NA 15
5 2211 NA 18
6 2211 NA 18
7 2211 NA 25
8 2211 NA 30
9 2211 NA 51
10 2211 NA 55
11 2211 NA 58
12 2211 NA 59
13 2211 NA 61
14 2211 NA 61
15 2211 NA 64
16 2211 NA 66
17 2211 NA 68
18 2211 NA 69
本例中有 18 条记录,因此 13 条记录需要到达医院 A,5 条记录需要到达医院 B。例如,记录 10 始终需要是 A 而不是第二次是 B。
我希望我的问题很清楚(我第一次在这里问问题)并且有人可以帮助我!提前致谢!
set.seed
应该是解决方案:
set.seed(0)
s1 <- sample(c("A","B"), 18, replace=TRUE, prob=c(0.3,0.7))
set.seed(0)
s2 <- sample(c("A","B"), 18, replace=TRUE, prob=c(0.3,0.7))
identical(s1, s2)
#[1] TRUE