リストに問題がありますが、unlist()ではうまくいかないようです。
ここに問題があります: lapply()を使用してリストに対して関数を実行します。この関数は、特定の基準で xts オブジェクトを分割し、2 つの xts オブジェクトのリストを返します。lapply()の結果のリストは、複数のサブリストで構成されます (私の例では、出力はlist.2によく似ています)
例:
library(xts)
#create three dummy xts objects
a<-c(1:10)
b<-c(2:5)
c<-c(6:9)
a.by<-as.POSIXct(a, tz="GMT", origin="1990-01-01 00:00:00")
b.by<-as.POSIXct(b, tz="GMT", origin="1990-01-01 00:00:00")
c.by<-as.POSIXct(c, tz="GMT", origin="1990-01-01 00:00:00")
xts.a<-xts(a, order.by=a.by)
xts.b<-xts(b, order.by=b.by)
xts.c<-xts(c, order.by=c.by)
# creating first list of objects a & b. this is passed to my function
list.1<-list(xts.a, xts.b)
# creating second list of objects a & b, c. this is similar to my output
list.2<-list(list.1, xts.c)
目標: これらの xts オブジェクトを他の関数に渡したい。メインリストとすべてのサブリストにあるすべての xts オブジェクトのリストが必要です。私の例では、list(xts.a, xts.b, xts.c) が欲しいです。サブリストをサブセット化し、それとメインリストを分割して、パーツ (xts オブジェクト) で再リストしたいと思います。
問題: データの読み込みが原因で、上記の問題だけでなく、これを自動的に実行しようとしています。そのため、特にこの順序ではなく、リスト内のオブジェクトが 3 つだけの複数のサブリストの場合です。
考え: class() -> list.2[class(list.2)=="list"]で作業してみました
サブセット化ベクトルを作成します (これはこれまでのところ最もうまく機能しているようです) -> subsystem_vector<-lapply(list.2, class)を作成し、このベクトル (およびシーケンス) を使用してリストを選択します -> list.2[[sequence[ subset_vector=="リスト"]]]
しかし、これはすべて複雑すぎるように思えます。もっと簡単な解決策があるはずです。
よろしくお願いします。
ベン