2
この簡単な例では、同じクラスを共有する学生の数を確認しようとしています。これは私が思いついたものですが、私はどのようにループなしでこれを行うのか、潜在的にどの学生(またはP1、P2、P3、P4の位置)がクラスを共有するかを示す方法を知りたいと思います。これらが数字であれば、それは単に相関行列を使って行われると思いますが、カテゴリ別の性質を考えると、これ以外の方法についてはわかりません。類似の列のヒートマップをカテゴリ値に基づいて作成する
DF <- (data.frame(row.names= c("ClassA", "ClassB","ClassC","ClassD","ClassE","ClassF"),
P1=c("John","John","Dave","Patrick","Steve","John"),
P2=c("Jim","Jim","Robert","Matt","Jim","Ben"),
P3=c("Marty","Mike","Stu","Geoff","Mike","Leif"),
P4=c("Mark","Mark","Tim","Moby","Chester","Larry")))
DFtally <- matrix(ncol=6, nrow=6)
for (i in 1:dim(DF)[1]) {
for (j in 1:dim(DF)[1]) {
DFtally[i,j] <- length(intersect(t(DF[i,]),t(DF[j,])))
}
}
library(plotly)
p <- plot_ly(z = DFtally, type = "heatmap")
p