Ich habe eine Datentabelle mit den folgenden Spalten:R-Datentabelle Außen durch Funktion verbinden
name, x, y
a, 1, 2
b, 2, 3
c, 3, 1
I mit sich selbst auf diese Tabelle beitreten wollen, jede Zeile zu halten, wo name != name
und eine Distanzfunktion auf der x
laufen und y
Werte von jeder Seite. Das Ergebnis sollte in dem Format:
name1, name2, distance
Ich schrieb die Abstandsfunktion wie folgt aus:
dist <- function(a, b) sqrt((a$x-b$x)^2 + (a$y-b$y)^2)
ich die outer
Funktion zu nutzen versucht, aber es dauert nur Vektoren, nicht Datentabellen und ich versuchte, Verwenden der verschiedenen Joins in dplyr, war aber nicht erfolgreich.
Sieht aus wie Sie gerade euklidische Abstand verwendet werden.Ich denke, Sie wollen nur die 'dist()' Funktion, um die Berechnung durchzuführen. Es wäre einfacher, mit Beispiel-Eingabedaten mit einem [reproduzierbaren Beispiel] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) zu testen. – MrFlick