如何在 R 中将参与者随机分配到组中?


为了将参与者随机分配到组中,我们可以使用 sample 函数。

例如,如果我们有一个名为 df 的数据框,其中包含一列,例如 Employee_ID,并且我们想要创建五个存储在向量 Grp 中的组,那么可以通过使用下面给出的命令将参与者随机分配到 Grp 中的值。

df$Grp<-print(sample(Grp,20,replace=TRUE))

示例 1

考虑以下数据框和向量组:

Student_ID<-sample(214215:954721,20)
df1<-data.frame(Student_ID)
df1

输出

创建以下数据框:

  Student_ID
1  763795
2  879621
3  778568
4  261380
5  797790
6  507481
7  800390
8  390149
9  438842
10 425594
11 828031
12 780819
13 657212
14 288759
15 678103
16 476391
17 418810
18 823006
19 637735
20 814120

将以下代码添加到上面的代码段中:

Group<-1:4

为了将学生 ID 随机分配到 Group 向量中的组中,请将以下代码添加到上面的代码段中:

df1$Group<-print(sample(Group,20,replace=TRUE))
[1] 4 4 2 1 3 1 4 2 4 3 2 3 4 4 4 1 4 3 1 4
df1

输出

如果您将上面给出的所有代码段作为单个程序执行,它将生成以下输出:

 Student_ID Group
1  763795   4
2  879621   4
3  778568   2
4  261380   1
5  797790   3
6  507481   1
7  800390   4
8  390149   2
9  438842   4
10 425594   3
11 828031   2
12 780819   3
13 657212   4
14 288759   4
15 678103   4
16 476391   1
17 418810   4
18 823006   3
19 637735   1
20 814120   4

示例 2

考虑以下数据框和向量组:

Employee_ID<-sample(10001:99999,20)
df2<-data.frame(Employee_ID)
df2

输出

创建以下数据框:

 Employee_ID
1  89915
2  93083
3  99440
4  16555
5  80010
6  95122
7  49810
8  31117
9  96031
10 82851
11 45405
12 41392
13 30216
14 49501
15 42112
16 78632
17 62772
18 84564
19 52695
20 12141

将以下代码添加到上面的代码段中:

Category<-c(1,2,3,4)

为了将员工 ID 随机分配到 Category 向量中的组中,请将以下代码添加到上面的代码段中:

df2$Category<-print(sample(Category,20,replace=TRUE))
[1] 1 3 4 1 1 1 3 4 4 2 3 1 2 4 2 3 2 1 1 1
df2

输出

如果您将上面给出的所有代码段作为单个程序执行,它将生成以下输出:

 Employee_ID Category
1  89915      1
2  93083      3
3  99440      4
4  16555      1
5  80010      1
6  95122      1
7  49810      3
8  31117      4
9  96031      4
10 82851      2
11 45405      3
12 41392      1
13 30216      2
14 49501      4
15 42112      2
16 78632      3
17 62772      2
18 84564      1
19 52695      1
20 12141      1

更新于: 2021-11-03

4K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告