2017-04-10 17 views
1

x座標が[,1]、y座標が[,2](下のサンプルデータ)の座標のリストがあります。 Rのリストを使って新しい作業をしているので、リストに3番目の「列」を追加する方法が不思議です。リスト要素にデータを追加

私はtest.route[[1]][[1]]test.route[[1]][[2]]でリストの要素にアクセスしようとしましたが、そうすることができません。

ちょうど例として、にゼロの列を追加するには、test.routeに?

> 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

を作成するためにrapplyを使用することができます。第3の 'x'座標に対して' test.route [[1]] [[1]] [[1]] [3,1] 'を試してください。 –

答えて

1

我々は、ネストされたlistを通過し、あなたがネストのレベルを逃したコラム

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 ... 
関連する問題