例子描述
我的任务是将17个人按照姓名分为四个组,每组分别是4,4,4,5人。
下面是自己编写的R代码
代码
xingming <- c("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q")
#姓名列表,用大写英文字母表示
fenzu <- function(xingming,m,n){#xingming为学号或者是姓名的列表,m为每组的人数,n为要分的组数
k=1 #这里k是为了计数引入的
while (k<=(n-1)){
fz <- sample(xingming,m,replace = FALSE,prob = NULL)
for (i in 1:m) {
xingming <- xingming[-which(xingming==fz[i])]#将抽中的从原列表中删除
}
k=k+1
print(fz)
}
print(xingming)
}
fenzu(xingming,4,4)
运行结果
仅供参考
最简单的方法
xingming <- c("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q")
#姓名列表,用大写英文字母表示
split(xingming,sample(rep(1:4,c(4,4,4,5))))