我在R上还很陌生,但是我知道重要的是1行计算。
我有一个变量,我希望它是基于某些概率的四个结果之一。有没有一种快速简便的方法来计算这个?
A' && B 21%
A && B 27%
A && B' 3%
A' && B' 49%
我认为我需要做一些涉及
的事情runif()
但是我不确定。
答案 0 :(得分:1)
从类别中随机抽取的方法是sample
函数。这说明了为什么set.seed可能对代码可重现有用:
> mysample <- sample( c("notA && B", "A && B", "A && notB", "notA && notB"), size=100, prob=c(.21, .27, .03, .49), replace=TRUE)
> table(mysample)
mysample
A && B notA && B notA && notB
34 21 45
> mysample <- sample( c("notA && B", "A && B", "A && notB", "notA && notB"), size=100, prob=c(.21, .27, .03, .49), replace=TRUE)
> table(mysample)
mysample
A && B notA && B notA && notB
25 13 62
> mysample <- sample( c("notA && B", "A && B", "A && notB", "notA && notB"), size=100, prob=c(.21, .27, .03, .49), replace=TRUE)
> table(mysample)
mysample
A && B A && notB notA && B notA && notB
26 3 24 47
更好的练习:
set.seed(123)
mysample <- sample( c("notA && B", "A && B", "A && notB", "notA && notB"),
size=100, prob=c(.21, .27, .03, .49), replace=TRUE)
每两条线同时运行,结果将相同。
> table(mysample)
mysample
A && B A && notB notA && B notA && notB
23 2 22 53