R语言实现随机分组(按照学号或者是姓名随机分组)

例子描述

我的任务是将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))))

在这里插入图片描述

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值