J'ai fait une série de fonction tel que celle ci
Code : Tout sélectionner
Reynolds.dist<-function(xx,yy,plox,ploy){
AF1<-allele.frec(xx,plox)
AF2<-allele.frec(yy,ploy)
AF1<-(AF1[,ncol(AF1)])/100
AF2<-(AF2[,ncol(AF2)])/100
J1<-mean(AF1^2)
J2<-mean(AF2^2)
J12<-mean(AF1*AF2)
#calcaulation=
sqrt(sum((AF1-AF2)^2)/(2*sum(1-(AF1*AF2))))->Rey.dist
return(Rey.dist)
}
qui servent à calculer la distance entre deux populations. J'aimerais qu'elle soit interne et appeller par une fonction qui retourne un objet de classe "dist" qui donne le résultat de ces fonction pour toutes les combinaisons possibles.
L'usage de cette sous-fonction à comme entré xx qui est un data.frame binaire avec les individus en ligne et les alleles en colone, pour une population donné, assocoé à plox la ploidy de chaque individu.
de même pour yy et ploy qui corespondent à une autre population.
Cette fonction retourne la distence entre la population x et y.
Je souhaite à partir d'un data.frame unique contenant toute les population mélangé, avec un vecteur pour indiquer la ploidy de chaque individu et un autre donnant leur population creer une fonction qui retourne la distance entre chaque couple de population possible.
Comment faire? merci :)