The following is an example of use dplyr:
temp <- df %>%
group_by(V2) %>%
do(expand.grid(.$V1, .$V1, stringsAsFactors=FALSE)) %>%
ungroup() %>%
select(Var1, Var2) %>%
table()
temp / diag(temp)
Var2
Var1 Bucket A Bucket B Bucket C
Bucket A 1.0000000 0.3333333 0.6666667
Bucket B 0.5000000 1.0000000 0.0000000
Bucket C 0.6666667 0.0000000 1.0000000
Data
df <- structure(list(V1 = c("Bucket A ", "Bucket A ", "Bucket A ",
"Bucket B ", "Bucket B ", "Bucket C ", "Bucket C ", "Bucket C "
), V2 = c(" Item 1", " Item 2", " Item 3", " Item 3", " Item 4",
" Item 1", " Item 5", " Item 2")), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA,
-8L))
source
share