私はRに約10,000要素の長さのリストを持っています。要素5、7、および9のみを選択したいとします。forループなしでそれを行う方法がわかりません。
のようなことをしたいのですが、うまくいきmylist[[c(5,7,9]]
ません。私もこのlapply
機能を試しましたが、それを機能させることもできませんでした。
私はRに約10,000要素の長さのリストを持っています。要素5、7、および9のみを選択したいとします。forループなしでそれを行う方法がわかりません。
のようなことをしたいのですが、うまくいきmylist[[c(5,7,9]]
ません。私もこのlapply
機能を試しましたが、それを機能させることもできませんでした。
回答:
mylist[c(5,7,9)]
それをする必要があります。
サブリストを結果リストのサブリストとして返す必要があります。そのために使用しない[[]]
(というより、関数は[[
)-Dasonがコメントで言及しているように[[
、要素を取得します。
b
1000万の要素が含まれています。filter_bins
各要素がインデックスであるリストです。したがってb
、同じインデックスを持つ要素のみを取得するには lapply(filter_bins, function(x) b[x, ])
、b [x、]が行のサブセットのみを返すようにします(各要素はfilter_binsによって選択されます)。これが理にかなっていることを願っています。私の質問は、これは非常に遅いということです
[[
。で繰り返し取得できます。しかし、複数の要素を抽出したい場合は、実際にはサブリストを取得しているので、使用する必要があります[
?"[["
:間の最も重要な違い[
、[[
及び$
ということである[
他の2つは、単一の要素を選択するのに対し、複数の要素を選択することができます。