class=read.table(text="Student
cagba
nhoussie
nanang
zbabic
hubai
abakhtis
cbalak
mbarraza
lbatacha
clblanke
eboyd
mcaplan
mac215
kecavagn
kchamber
dcchu
lclubb
ejcurtis
ajdaniel
rydiao
adilmore
relgamal
kfogelso
ligarcia
mgosztyl
shatch
srhaupt
sheimler
tshoang
shodapp
arholman
cahorta
bhurysz
thkao
mkazachk
kkearns
vko
dkoubour
kdkuhn
rlarsen
stleal
bsleger
kliimatt
yhlin
rlozoya
bmauch
cmcgrail
remcmill
amigliet
jmosko
gnorton
mokino
hpettit
hphang
lrossitt
c6sanche
p6sandov
csauceda
jshek
rmshepar
ckshinn
nsiguenz
espillma
lstanwic
ssteiner
lostolz
ktakehar
wet015
atankka
mnvaughn
cgwang
miw027
may023
fjzhou",stringsAsFactors=F,na.strings="unknown", header=T, sep="\t")
ppl=nrow(class)
group_size=4
group_number=ppl/group_size
group_number_clean=ceiling(ppl/group_size)
remainder=group_size*(group_number_clean-group_number)
class=unlist(class)
fake_ppl=rep("NA",remainder)
class=c(class,fake_ppl)
class=as.data.frame(class)
group_list=split(class,sample(rep(1:group_number_clean,times=rep(group_size,group_number_clean))))
group_list=as.data.frame(group_list,row.names=c("student_1","student_2","student_3","student_4"))
colnames(group_list)=c("Group_1","Group_2","Group_3","Group_4","Group_5","Group_6","Group_7","Group_8","Group_9","Group_10","Group_11","Group_12","Group_13","Group_14","Group_15","Group_16","Group_17","Group_18","Group_19")
write.csv(group_list,"~/Desktop/group_list.csv")