我在R.遇到问题 我想分配" 1"和" 2"随机到一个数字列表(1:6000)。这些数字分为3组(每班2000个数字)。我想以这样的方式进行随机分配:在第1类中,25%的数字得到" 1"和75%得到" 2&#34 ;;在第2课中,50%的数字得到" 1"其余的得到" 2&#34 ;;在3级,75%获得" 1"并且25%获得" 2"。 我将不胜感激这个问题的任何帮助
数据如下所示:
id class 1 1 2 1 3 1 。 1 。 1 。 1 2000 1
2001 2 2002年2 2003年2 。 2 。 2 。 2 4000 2
4001 3 4002 3 4003 3 。 3 。 3 。 3 6000 3
干杯, 哈米德
答案 0 :(得分:0)
您可以使用所需的数字创建向量,然后使用函数 sample 随机分配数字。您可以使用set.seed(x)每次为您提供相同的分配。
s1 <- c(rep(1,4), rep(2,12))
s2 <- c(rep(1,8), rep(2,8))
s3 <- c(rep(1, 12), rep(2, 4))
s <- c(sample(s1), sample(s2), sample(s3))
# or you could set the seed
set.seed(42)
s <- c(sample(s1), sample(s2), sample(s3))