diff --git a/R/indMix.R b/R/indMix.R index 3a66cee..a070ce5 100644 --- a/R/indMix.R +++ b/R/indMix.R @@ -610,26 +610,6 @@ indMix <- function(c, npops, dispText) { # end # end -# %---------------------------------------------------------------------------- - - -# function dist2 = laskeOsaDist(inds2, dist, ninds) -# % Muodostaa dist vektorista osavektorin, joka sis�lt�� yksil�iden inds2 -# % v�liset et�isyydet. ninds=kaikkien yksil�iden lukum��r�. - -# ninds2 = length(inds2); -# apu = zeros(nchoosek(ninds2,2),2); -# rivi = 1; -# for i=1:ninds2-1 -# for j=i+1:ninds2 -# apu(rivi, 1) = inds2(i); -# apu(rivi, 2) = inds2(j); -# rivi = rivi+1; -# end -# end -# apu = (apu(:,1)-1).*ninds - apu(:,1) ./ 2 .* (apu(:,1)-1) + (apu(:,2)-apu(:,1)); -# dist2 = dist(apu); - # %--------------------------------------------------------- # function T = cluster_own(Z,nclust) diff --git a/R/laskeOsaDist.R b/R/laskeOsaDist.R new file mode 100644 index 0000000..1ea9495 --- /dev/null +++ b/R/laskeOsaDist.R @@ -0,0 +1,19 @@ +laskeOsaDist <- function(inds2, dist, ninds) { + # % Muodostaa dist vektorista osavektorin, joka sis�lt�� yksil�iden inds2 + # % v�liset et�isyydet. ninds=kaikkien yksil�iden lukum��r�. + + ninds2 <- length(inds2) + apu <- zeros(nchoosek(ninds2, 2), 2) + rivi <- 1 + for (i in 1:ninds2-1) { + for (j in i+1:ninds2) { + apu[rivi, 1] <- inds2[i] + apu[rivi, 2] <- inds2[j] + rivi <- rivi + 1 + } + } + apu <- (apu[, 1]-1) * ninds - apu[, 1] / 2 * + (apu[, 1]-1) + (apu[, 2] - apu[, 1]) + dist2 <- dist(apu) + return(dist2) +} \ No newline at end of file