2017-04-10 5 views
1

Ich habe eine Liste von Koordinaten, in denen die x-Koordinate [,1] ist und die y-Koordinate [,2] ist (Beispieldaten unten). Da ich neu mit Listen in R arbeite, frage ich mich, wie ich eine dritte "Spalte" zur Liste hinzufügen kann.Hinzufügen von Daten zu Listenelementen

Ich habe versucht, Zugriff auf die Elemente der Liste mit test.route[[1]][[1]], , aber ich bin nicht in der Lage, dies zu tun.

Nur als ein Beispiel, wie würde man eine Spalte von Nullen in [,3] in test.route hinzufügen?

> str(test.route) 
List of 1 
$ :List of 1 
    ..$ :List of 1 
    .. ..$ : num [1:33, 1:2] -79.9 -79.9 -79.9 -79.9 -79.9 ... 


> dput(test.route) 
list(list(list(structure(c(-79.9298866666667, -79.9299016666667, 
-79.9299016666667, -79.9298716666667, -79.929865, -79.9299, -79.9299766666667, 
-79.930025, -79.930125, -79.9301816666667, -79.930165, -79.9301183333333, 
-79.9301283333333, -79.9301966666667, -79.93024, -79.9303133333333, 
-79.93012, -79.9298366666667, -79.9295716666667, -79.9292916666667, 
-79.9290283333333, -79.9287816666667, -79.92838, -79.9281916666667, 
-79.9279933333333, -79.927765, -79.927495, -79.9272033333333, 
-79.9269016666667, -79.92651, -79.92651, -79.92651, -79.92651, 
43.2555883333333, 43.2554766666667, 43.2554766666667, 43.2554716666667, 
43.2555033333333, 43.255585, 43.2557366666667, 43.255925, 43.2563183333333, 
43.256565, 43.25686, 43.2572183333333, 43.257535, 43.2577966666667, 
43.2580533333333, 43.2585666666667, 43.2586866666667, 43.2587133333333, 
43.25873, 43.25877, 43.258835, 43.258925, 43.2591666666667, 43.2592883333333, 
43.2594233333333, 43.2595433333333, 43.2596533333333, 43.2597333333333, 
43.2597833333333, 43.259895, 43.2598966666667, 43.2598966666667, 
43.2598966666667), .Dim = c(33L, 2L))))) 
+0

Sie haben ein Niveau der Verschachtelung verpasst erstellen. Probieren Sie 'test.route [[1]] [[1]] [[1]] [3,1]' zum Beispiel für die dritte x-Koordinate aus –

Antwort

1

Wir rapply verwenden, um durch die verschachtelte list zu gehen und eine Spalte

test.route1 <- rapply(test.route, function(x) cbind(x, 0), how = "list") 
str(test.route1) 
#List of 1 
# $ :List of 1 
# ..$ :List of 1 
# .. ..$ : num [1:33, 1:3] -79.9 -79.9 -79.9 -79.9 -79.9 ... 
Verwandte Themen