私は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がコメントで言及しているように[[、要素を取得します。
b1000万の要素が含まれています。filter_bins各要素がインデックスであるリストです。したがってb、同じインデックスを持つ要素のみを取得するには lapply(filter_bins, function(x) b[x, ]) 、b [x、]が行のサブセットのみを返すようにします(各要素はfilter_binsによって選択されます)。これが理にかなっていることを願っています。私の質問は、これは非常に遅いということです
[[。で繰り返し取得できます。しかし、複数の要素を抽出したい場合は、実際にはサブリストを取得しているので、使用する必要があります[
?"[[":間の最も重要な違い[、[[及び$ということである[他の2つは、単一の要素を選択するのに対し、複数の要素を選択することができます。