問題タブ [lapply]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - データフレームの行を組み合わせる
2つのID変数と1つの名前変数を持つデータフレームがあります。これらの変数の組み合わせには、さまざまな不均等な数があります。
結果にV1ごとに1つのエントリのみが含まれるように行を結合し、次に2番目と3番目の変数として値のコンマ区切りリストを作成します。そのようです:
私はこれを次のコードで試しましたが、少し遅い場合は問題ありません。より高速なソリューションの提案はありますか?
編集:修正されたdput(df)
r - 演算子「data.frame」を複数回適用するループを作成する
既存の行列のセットから複数のデータ フレームを作成するループを作成したいと思います。コードを使用してこれらをインポートして作成しました:
したがって、「ddives」は、csv ファイルのセットのセットです。コードのループ バージョンを使用して、これらのそれぞれからデータ フレームを作成したいと思います。
r - Rでのベクトルチャンク長分布の検索
私は次のベクトルを持っています。これは大きなベクトルですが、説明のために短くしておきます。
1はベクトル内のチャンクになっていることに注意してください。この場合、4つの1のチャンクと2つの1の2つのチャンクがあります。この分布を簡単かつ効率的に見つけるにはどうすればよいですか?期待される出力は
よろしくお願いします。
r - Rのリスト内の要素のスロットをlappyで削除する方法
だから私は削除したいスロットを持つオブジェクトの長いリストを持っています。具体的には、データを重複して保存しています。しかし、その理由は重要ではありません。
私の主な質問は、これを行う「適切な」方法とは何かに関するものです。したがって、ここにセットアップがあります:
したがって、同一のオブジェクト(または少なくとも同一の外観オブジェクト)のリストがあります。無駄なスロットを削除したい。なぜだ、私には役に立たないからだ。
私はループで行うことができます:
しかし、lapply() バージョンが機能しないのはなぜですか。問題は、ラップリーについて何が得られないかということだと思います。
r - data.frames のリストにインデックス (サブセット) を付ける方法
複数の data.frames のリストを取得しました。各 data.frames から最初の 2 列を削除したいと考えています。私は次のようにしましたが、これはもっとRっぽいと思います。
明らかにこれでうまくいきますが、ここで何かを見逃しているように思えます (lapply 内で演算子を使用するなど、技術的には関数でもあるため)。ただし、このアプローチの主な欠点は、そのリストのすべての要素に対して行う小さなタスクごとに、小さなヘルパー関数が必要になることです。
r - Conditional lapply
So I have a bunch of data frames in a list object. Frames are organised such as
And I got them into a list by following this topic. I can also run simple functions on them as shown in this topic.
Now I am trying to run a conditional function with lapply, and I'm running into trouble. In some tables the 'ID' column has a different name (say, 'recnum'), and I need to tell lapply to go through each data frame, check if there is a column named 'recnum', and change its name to 'ID', as in
But I'm running into trouble with local scope and who knows what. Any ideas?
r - ベクトルリストの新しい要素を数える
過去に存在しなかった新しい要素を数えたいと思います。例では
サンプルデータ:
出力を取得したい
失敗したコード:
r - BiomaRtクエリに使用すると、forループよりもラップが遅くなります。それは期待されていますか?
BiomaRt
パッケージを使用してデータベースにクエリを実行したいと思います。私はloci
いくつかの関連情報を持っていて、それを取得したいと思っていますdescription
。
私は最初に使用しようとしましlapply
たが、タスクの実行に必要な時間に驚きました。したがって、私はより基本的なものを試し、よりfor-loop
速い結果を得ました。
それは予想されたものですか、それとも私のコードまたは私の理解に何か問題がありapply
ますか?*apply
vsfor-loop
パフォーマンスを扱った他の投稿を読んで(たとえば、ここで)、パフォーマンスの向上は期待できないことを認識していましたが、ここでのパフォーマンスが実際に低い理由がわかりません。
これが再現可能な例です。
1)ライブラリをロードしてデータベースを選択します。
2)データベースのクエリ:
で使用する関数を作成しますlapply
:
最初の要素でこの関数を使用すると:
lapply
すべての値のデータを取得するために使用する場合:
次に、新しい関数を作成し、for-loop
:を追加しました。
結果は次のとおりです。
もちろん、これはの大きなリストに適用されるloci
ため、最高のパフォーマンスを発揮するオプションが必要です。助けてくれてありがとう。
編集@MartinMorganの推奨に従って
ベクトルloci
をgetBMに渡すだけで、クエリの効率が大幅に向上します。シンプルな方が良いです。
r - インデックス付きの R lapply ステートメント
lapplyステートメントにもインデックスを表示させる方法はありますか? 具体的には、次の例を検討してください。
「Adding Values: 1」「Adding Values: 2」など、リスト内の各要素を 1 つずつ出力する方法はありますか?
ありがとう!
r - 行を一意のアイテムに減らします
私はデータフレームを持っています
そして、データを調整して、次のように、各行の個々のステップのみを取得したいと思います。
各行をベクトルとして扱うと、次のようなことができることを知っています。
私の難しさは、それを行ごとにデータテーブルに適用することです。lapplyが進むべき道だと思いますが、今のところこれを解決することはできません。