Kurz: Wie kann ich m
Zeilen zu meinem m X n
Datenrahmen hinzufügen, wo jede neue Zeile nach jeder vorhandenen Zeile eingefügt wird? Ich werde im Wesentlichen die bestehende Zeile kopieren, aber eine Änderung an einer Variablen vornehmen.Wie kann ich jeder zweiten Zeile Zeilen zu einem R-Datenrahmen hinzufügen?
Mehr Details: in Bezug auf another question, ich denke, ich kann tun, was ich will mit rgls segments3d Funktion. Ich habe eine Menge von x, y, z Punkten, aber das sind nur ein Endpunkt einer Reihe von Liniensegmenten. Der andere Endpunkt ist in der Z-Dimension so viele Meter entfernt, dass er als vierte Variable gegeben ist: X, Y, Z, Z_Length; in meiner Terminologie ist es Ost, Nord, Höhe, Länge.
Laut der rgl docs, "Punkte werden paarweise von segments3d genommen". Also, ich denke, ich muss meinen Datenrahmen ändern, um zusätzliche Einträge jede zweite Zeile mit einer geänderten Z-Variable (durch Subtrahieren von Z_Length von Z) zu haben. Optisch muss es von diesem gehen:
+-------+---------+----------+-----------+---------+
| Label | easting | northing | elevation | length |
+-------+---------+----------+-----------+---------+
| 47063 | 554952 | 5804714 | 32.68 | 619.25 |
| 47311 | 492126 | 5730703 | 10.40 | 1773.00 |
+-------+---------+----------+-----------+---------+
dazu:
+-------+---------+----------+-----------+---------+
| Label | easting | northing | elevation | length |
+-------+---------+----------+-----------+---------+
| 47063 | 554952 | 5804714 | 32.68 | 619.25 |
| 47063 | 554952 | 5804714 | -586.57 | 619.25 |
| 47311 | 492126 | 5730703 | 10.40 | 1773.00 |
| 47311 | 492126 | 5730703 | -1762.26 | 1773.00 |
+-------+---------+----------+-----------+---------+
an der verknüpften Frage eine Datenprobe zur Verfügung steht.
Ich dachte, ich müsste eine Art von etwas in meiner Lösung verwenden, aber Kronecker ist nicht das, was ich erwartet habe ... können Sie erklären, wie es tut, was es tut? –
Sehen Sie, was 'kronecker (1: 5, c (0,5)," + ") Ihnen gibt. Für jedes Element im ersten Vektor fügt es ('FUN =" + "') alle Elemente im zweiten Vektor hinzu, so erhalten Sie: '1 + 0, 1 + 5, 2 + 0, 2 + 5, usw. '. Es gibt sicherlich andere Möglichkeiten, diesen Vektor von Indizes zu erhalten, aber ich finde diesen interessant. – flodel
Das ist wild, ich liebe es. Dein Gehirn arbeitet wunderbar. –