3

lapply を使用してリスト内のベクトルから要素を選択していますが、リスト内のすべてのベクトルに同じ数の要素が含まれているわけではありません。私は通常使用します:

lapply(some.list,"[[",n)

n は、解析しようとしているベクトル内の要素のインデックスです。ただし、今回のリストは次のようになります。

some.vect <- c("aaa_elem1","aa_elem2","elem3","bb_elem4","ccc_elem5","abc_elem6")
some.list <- strsplit(some.vect,"_")

通常のラップリー メソッドを使用する場合:

lapply(some.list,"[[",2)

次のエラーが表示Error in FUN(X[[3L]], ...) : subscript out of boundsされます。リスト内のすべてのベクトルに 2 つの要素があるわけではないため、予想どおりです。私が望むのは、インデックスをlapplyベクトルの長さとして宣言する方法です。

また、リスト ベクトルの長さのベクトルを定義し、それをインデックスに割り当ててみました。

vect.length <- unlist(lapply(some.list,length))
lapply(some.list,"[[",vect.length)
(Error in FUN(X[[1L]], ...) : attempt to select more than one element)

インデックスをまったく割り当てない:

lapply(some.list,"[[")
(Error in FUN(X[[1L]], ...) : no index specified)

リスト内のベクトルの最後の要素をすべて選択する方法はありますか?

4

1 に答える 1

3

使用tail...

lapply(some.list, tail , 1 )
于 2013-06-12T14:30:18.150 に答える