나는에서 다른 종 사이의 마할 라 노비스 거리를 찾기 위해 노력하고 iris
R. I에서 데이터 세트 사이의 거리를 찾을 수 있었다 setosa
및 versicolor
다음 코드 :
library(HDMD)
#To get Mahalanobis distances between Setosa and Versicolor,
set.vers<-pairwise.mahalanobis(x=iris[1:100,1:4], grouping=iris[1:100,]$Species)
md= sqrt(set.vers$distance)
그러나 나는 setosa
및에 대해 동일한 작업을 수행하기 위해 고군분투 하고 virginica
있습니다. 데이터 세트의 처음 50 개 행과 마지막 50 개 행을 선택하는 방법을 잘 모르겠습니다 (즉, versicolor
데이터가 없음).
여기에 수준의 모든 조합을 얻을 수있는 방법 iris$Species
으로 combn
하고, 마할 라 노비스 거리를 계산가.
library(HDMD)
inx <- sapply(levels(iris$Species), function(l) which(iris$Species == l), simplify = FALSE)
inx <- combn(inx, 2, function(x) unlist(x), simplify = FALSE)
set.vers_all <- lapply(inx, function(i) {
pairwise.mahalanobis(x = iris[i, 1:4], grouping = droplevels(iris$Species[i]))
})
set.vers_all
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다