tabel=data.frame(isikud=c("Juku", "Kati", "Mati", "Juku", "Juku","Kati"),
huvialad=c("jalgpall","korvpall", "jalgpall", "korvpall", "võrkpall", "võrkpall"), stringsAsFactors = FALSE)
tabel
## isikud huvialad
## 1 Juku jalgpall
## 2 Kati korvpall
## 3 Mati jalgpall
## 4 Juku korvpall
## 5 Juku võrkpall
## 6 Kati võrkpall
vastus=tapply(tabel$isikud, tabel$huvialad, function(x)x)
vastus
## $jalgpall
## [1] "Juku" "Mati"
##
## $korvpall
## [1] "Kati" "Juku"
##
## $võrkpall
## [1] "Juku" "Kati"
m=matrix(nrow=length(vastus), ncol=length(vastus))
rownames(m)=names(vastus)
colnames(m)=names(vastus)
for (huviala1 in names(vastus)){
for(huviala2 in names(vastus)){
m[huviala1, huviala2]=length(intersect(vastus[[huviala1]], vastus[[huviala2]]))
}
}
m
## jalgpall korvpall võrkpall
## jalgpall 2 1 1
## korvpall 1 2 2
## võrkpall 1 2 2