たまにはプログラミングねたも書こうと思います。
RでTanimoto Distanceを算出する関数を作りました。
corと同じように使います。粗く言えばcorは相関係数なので「変化が似ている」、distanceは「絶対値が似ている」、Tanimotoはその間のイメージです。
tanimoto <- function(x){ if(is.data.frame(x)) x <- as.matrix(x) n <- ncol(x) ab <- t(x) %*% x aa <- diag(ab) aa.m <- matrix(rep(aa,n),n) y <- ab/(aa.m + t(aa.m) - ab) return(y) }
よろしければ使ってやってください。現時点ではデータ中のNAは想定していませんので注意。
|