Ich habe einen Datenrahmen, der eine Liste von Personen und entsprechende Breitenkoordinaten enthält, wo sie arbeiten. Im Wesentlichen möchte ich einen neuen Datenrahmen erstellen, der eine Kantenliste darstellt, die die Entfernung zwischen jeder Person und allen anderen im ursprünglichen Datenrahmen zeigt. Ich weiß, wie man Distanz berechnet, aber ich kämpfe mit meinen for-Schleifen.Erstelle eine Editierliste aller möglichen Kombinationen.
Original-Datenrahmen sieht wie folgt aus (coord = Tupel):
name, coord
Bob -30, 142
Jack 32, 3
Alfred 40, - 116
ich neue Datenrahmen wie diese erzeugen müssen:
from, to, from_coord, to_coord
Bob, Bob, -30, 142, -30, 142
Bob, Jack, -30, 142, 32, 3
Bob, Alfred, -30, 142, 40, -116
Jack, Jack 32, 3, 32, 3
Jack, Alfred 32, 3, 40, -116
Alfred, Alfred 40, -116, 40, -116
Sobald diese sortiert ich leicht Entfernung berechnen kann.
Ich habe versucht, mit zwei verschachtelten For-Schleifen, um dies zu erstellen, aber stopfen meine Cbind, rbinds.
See sp :: spDist() – mdsumner