Dans mon jeu de données j'ai un point de départ de transect et un autre de fin de transect. J'aimerai connaitre la distance en mètre qui les sépare. Pour cela j'utilise la fonction distance.
J'arrive à obtenir l'information avec ce script :
Code : Tout sélectionner
library(argosfilter)
library(geosphere)
#calcule distance relle
DataSE<-Data2[Data2[,4]!="Line transect" ,]
x <- DataSE$X
y <- DataSE$Y
auxi <- combn(length(x),2)
dist1 <- apply(auxi, 2, function(u) distance(x[u[1]],x[u[2]], y[u[1]], y[u[2]]))
dist2 <- matrix(0, length(x), length(x))
dist2[t(auxi)] <- dist1
dist2
rownames(dist2)<-DataSE$IDtransect
colnames(dist2)<-DataSE$IDtransect
dist2
avec ce type de résultat:
Code : Tout sélectionner
2018-04-12-1-1 2018-04-12-1-1 2018-04-12-1-2 2018-04-12-1-2 2018-04-12-1-3 2018-04-12-1-3
2018-04-11-1-1 0.3763708 0.40302554 0.37316527 0.39706642 0.36457448 0.39088777
2018-04-11-1-1 0.3824794 0.40900888 0.37875284 0.40251935 0.36977482 0.39572380
2018-04-11-1-2 0.3922644 0.41893102 0.38911186 0.41302206 0.38054874 0.40687767
2018-04-11-1-3 0.4035459 0.43020943 0.40037247 0.42427661 0.39178599 0.41808956
2018-04-11-2-1 0.4629778 0.48888877 0.45771134 0.48081722 0.44762828 0.47211420
2018-04-11-2-2 0.4604836 0.48622751 0.45492245 0.47786173 0.44464945 0.46882266
2018-04-11-2-3 0.4465868 0.47216956 0.44076663 0.46355150 0.43033429 0.45423427
2018-04-11-2-3 0.4714032 0.49691516 0.46547170 0.48817520 0.45496099 0.47869656
2018-04-11-3-1 0.5848606 0.61052733 0.57915910 0.60197923 0.56876188 0.59264678
Le problème est que cela n'est pas trop visible et cela est surement du au fait que mon point de début et mon point de fin on le même nom: par exemple 2018-04-12-1-1.
Donc j'aimerai connaitre si il y a une manière de n'afficher que certain résultat celui qui m’intéresse la distance entre la fin et le début de mon transect qui doivent porter le même nom.
J'aurai aimé garder l'information du nom de mon transect (2018-04-12-1-1) car c'est mon champ de jointure pour l'ensemble de mes données.
Merci d'avance