問題タブ [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 - rのラップループ内のレベルの設定
データフレーム内の因子変数を末尾のスペースから削除しようとしています。ただし、レベルの割り当ては、私のlapply関数内では機能しません。
lapply関数内でレベルを割り当てる方法はありますか?
// M
r - 関数から指定された名前のdata.frameを返す方法は?
MySQLテーブルからデータを読み取り、それを操作してdata.frameを返す関数があるとします。関数は機能が重要ではない単なる例であることに注意してください...、例:
mydfというdata.frameになってしまいます。ここで、SQLテーブル名の文字ベクトルに対してこれを行い、それに応じて返されたデータフレームに名前を付けます。使うだけなら
xというリストを取得します。もちろん、リストから外して、好きなように名前を変更することもできますが、私の質問は次のとおりです。
lapply(または別の同等の関数)が複数の単一データフレーム、または少なくとも文字ベクトル「MySQLtablenames」から派生したいくつかの名前を含むリストを返すようにするにはどうすればよいですか?
list - snowfall::sfLapply を使用するときに処理されるリスト要素はどれですか?
mylist
関数の入力オブジェクトとして使用されるリスト ( ) があるとしlapply
ます。どの要素mylist
が評価されているかを知る方法はありますか? この方法は、家族のメンバーにも適用さlapply
れsnowfall::sfApply
ます。
チャットで、Gavin Simpson さんが次の方法を提案しました。これは にはうまく機能しますlapply
が、 にはあまり効果がありませんsfApply
。余分なパッケージを避けたり、リストをいじったりしたくありません。助言がありますか?
これは、それをカットしていないパラレル バージョンです。
r - 複数の CSV ファイルを個別のデータ フレームに読み込む
ディレクトリC:\R\Dataにファイルfile1.csv、file2.csv、 ... 、およびfile100.csvがあり、それらすべてを個別のデータ フレーム (たとえば、 file1、file2、 ... 、およびfile100 )。
これは、名前が似ていてもファイル構造が異なるため、リストに入れてもあまり役に立たないためです。
使用できますlapply
が、100 個のデータ フレームを含む単一のリストが返されます。代わりに、グローバル環境でこれらのデータ フレームが必要です。
複数のファイルをグローバル環境に直接読み込むにはどうすればよいですか? または、代わりに、データフレームのリストの内容をそこに展開するにはどうすればよいですか?
r - lapply/sapplyを使用してデータフレーム内の各ポイントを再計算します
データフレーム内のすべての値を再計算するために、batcheffectという名前の独自の関数を作成します。この関数は、インポートとしてデータフレームのみを必要とします。最初に、関数で平均が計算され、次にデータフレーム内の各ポイントに対して計算が行われ、新しいデータフレームが作成されます。
大きなデータフレームの場合、関数内のループは遅くなります。だから私はプロセスをスピードアップするためにsapplyまたはlapply関数を使用したいと思います。誰か提案がありますか?
ありがとう
更新:たとえば、次のようなデータフレームがありますdf <-data.frame(A = 1:10、B = 10:1、C = 11:20、C1 = 21:30、B1 = 31:40、A2 = 41 :50)
データフレーム内のすべての値の平均を計算します。データフレームは、行列df1 <-as.matrix(df)overallmean <-mean(df1)に変換されます。
データの最初の目標は、colnamesによってサブセットを作成することです。Aのグループ、Bのグループ、Cのグループの3つのグループを生成します。サブセットは次のコードで定義されています。
3つのグループが作成されます。eggroup AIの各値について、次の合計を計算します:(値-overallmean-meanofthegroup)+overallmean。したがって、このバッチ効果関数を作成します。
結果はOKですが、結果をデータフレームとして返します。そして、私自身のデータでは、この関数は本当に遅いので、mabyには何かをsapplyするような高速化の方法があると思いました。
r - getSymbols を使用し、lapply、Cl、merge を使用して終値を抽出する
私はしばらくこれをいじっています。最近、quantmod パッケージを使用して株価の分析を開始しました。
次のようなティッカー ベクトルがあります。
ベクトル ティッカー内のすべての株式の価格を保存するために、lapply 呼び出しで使用する myX という関数を作成しました。次のコードがあります。
私は自分でlapplyを呼び出します
library(quantmod) lapply(tickers,myX,start="2001-03-01", end="2011-03-11")
それはうまくいきます。ここで、すべての株式の終値を次のようなオブジェクトにマージしたいと考えています。
誰かが次のようなことを試してみることを勧めました:
ClosePrices <- do.call(merge, lapply(tickers, function(x) Cl(get(x))))
ただし、これをさまざまに組み合わせてみましたが、成功しませんでした。最初に Cl(x) で lapply を呼び出してみました
ご指導いただければ幸いです。
r - R: sfLapply(1:N, function(x)) の呼び出しで反復回数を参照
次のように sfLapply 呼び出しで反復回数を参照することは可能ですか?
ここで、i は sfLapply が 1:200000 を循環するときの反復回数です。
私が直面している問題は、テストするケースが 200,000 件を超えていることです。各ケースでは、さまざまな操作が実行される data.frame の構築が必要です。
私は 2 Ghz Intel Core 2 Duo プロセッサ (macbook ラップトップ) を持っているので、並列処理を利用するために Snowfall パッケージの調査を開始しました。これが私を sfLapply に導いたので、lapply() で動作するようにコードを書き直すことができるかどうかを調査し始めました。ただし、lappy() 呼び出しで反復回数を参照する例にはまだ遭遇していません。
多分私は間違った方向に向かっています。誰かに何か提案があれば、私は大いに感謝します。
r - Rでリストを圧縮する
ガイドラインとして、明示的に反復するのではなく、lapplyまたは* ply(plyrから)を使用してリストの要素に関数を適用することをお勧めします。ただし、これは、一度に1つのリストを処理する必要がある場合にうまく機能します。関数が複数の引数を取る場合、私は通常、サイクルを実行します。
私は、よりクリーンな構造を持ちながら、本質的に機能することが可能かどうか疑問に思いました。考えられるアプローチの1つは、Pythonのような関数zip(x、y)を定義することです。これは、入力リストを受け取り、i番目の要素がlist(x、y)であるリストを返し、その関数をに適用します。このリスト。しかし、私の質問は、私が最もクリーンなアプローチを使用しているかどうかです。私はパフォーマンスの最適化について心配していませんが、むしろ明快さ/優雅さについて心配しています。
以下は素朴な例です。
そして、これがzip形式の例です(任意の引数に拡張できます):
r - mapply を使用して、lm モデルのリストをデータ フレームのリストに適合させます [R]
これは可能ですか?mapply
例を使用することはできhelp
ますが、簡単な例を使用することはできませんlm
。lm
これは、オブジェクトのリストではなく、マトリックスを返す私の試みです。
毎回lapply
指定して固執する必要がありますか?data =
ありがとう!
r - 引数を変更してlapplyを使用する
Rの教科書は、ループの代わりにラップの使用を促進し続けています。これは、次のような引数を持つ関数でも簡単です。
しかし、リスト要素に応じて引数が変わるとどうなりますか?私のsomelistが次のもので構成されていると仮定します。
さらにanotherlist
、同じリージョンがあり、これらの変化する引数を重ねて使用したいですか?これは、たとえばfが比率計算の場合に役立ちます。
これらの領域を効率的に実行するループ以外の方法はありますか?
編集:私の問題は、以前に作成した関数をインデックスなしで使用しようとしたことのようです...
につながった
これは機能しません。たぶん他の人もこの間違いから学ぶことができます。