問題タブ [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.

0 投票する
3 に答える
2353 参照

r - リスト内のリストのサブ要素にラップするにはどうすればよいですか

リスト内にネストされたリストがあり、ベクトルでのみ機能する関数があるとします (stringr パッケージの str_replace など)。関数は、実際に情報を伴うすべての要素に対して作業を行う必要があります...

質問 1:私の問題に対する特定の解決策はありますか?
質問 2:一般的な解決策はありますか?

ループを使用した解決策があるはずですが、それはエレガントではなく、おそらく非常に遅いです.ここでは効率が重要です.

を見てみましょう:

0 投票する
2 に答える
1242 参照

r - How can I use attr<- with lapply?

Or put it more general: How can I add multiple attributes to the elements of list?

I am stuck trying to set an attribute to elements of a list all of which are data.frames. In the end I would like to add names(myList) as a varying attribute to every data.frame inside. But I even cannot get a static attribute for all list elements to go.

This does not work because lapply does not work with lapply<-. If I had at least an idea how to do this, maybe I could figure out how to do it with varying attributes like the name of the list.

0 投票する
1 に答える
414 参照

r - 加重分散共分散行列とlapply

prob50個の要素のリストがあります。各要素は確率の601x3行列であり、その各行は完全なサンプル空間を表します(つまり、各行列の各行の合計は1になります)。たとえば、次の最初の要素の最初の5行は次のprobとおりです。

ここで、私がやりたいのは、リスト内の各行列/要素の各行に対してprob次の行列を作成することです。最初の行を取得して、a = .603、b = .366、およびc = .032(小数点以下第3位に四捨五入)とします。それで、

そのような:

同様の3x3行列を600回(この行列の残りの行に対して)取得してから、このプロセス全体をの残りの要素に対して49回繰り返したいと思いますprob。私が考えることができる唯一のことは、各マトリックスの各行に一度に1つずつアクセスするようにapply内部を呼び出すことです。lapplyこれを行うためのエレガントな方法ではないと確信していますが(言うまでもなく、それを機能させることはできません)、他に何も考えられません。誰かがこれで私を助けることができますか?また、別の構造を使用するための提案を聞きたいです(たとえば、リスト内で行列を使用するのは悪いですか?)。

0 投票する
3 に答える
277 参照

r - lapply内で行列の割り当てが失敗する

文字データを含むdata.frameがあり、同じ列見出しで各値のカウントを持つマトリックスになりたいです。これまでのところ、必要なディメンションの空行列を取得できますが、myMatrixカウントを入力しようとすると、機能しません。

ここまでは順調ですね。これは私が期待することをしない部分です:

正しい値を返しますが、myMatrixそれでもNAでいっぱいです。奇妙なことに、これは機能します:

失敗への割り当てがmyMatrix失敗するのはなぜですか?また、(ループlapplyなしで)それを機能させるにはどうすればよいですか?for

0 投票する
1 に答える
5716 参照

r - 行列のリストへの関数の適用

resは でありlist、各要素はMATRIXです。エラーが発生します。

0 投票する
1 に答える
1262 参照

r - Rのlapplyで関数にオプションの引数を追加する方法

私は以下を使用しています:

それは機能しましたが、関数 qic を変更したので、引数が追加されました

上記の lapply 関数を調整して、qic 内に TRUE または FALSE を含めたいと思います。qicout を計算するこの lapply 関数は実際には別の関数内にあり、lapply 内の qic 関数に渡すことができるように small = TRUE/FALSE のオプションが必要です。これを行うための最良の方法の提案はありますか?

0 投票する
2 に答える
683 参照

r - Processing the list of data.frames with "apply" family of functions

I have a data frame which I then split into three (or any number) of dataframes.

What I’m trying to do is to automatically process each column in each dataframe and add lagged versions of existing variables.

For example if there were three variables in each data.frame (V1, V2, V3) I would like to automatically (without hardcoding) add V1.lag, V2.lag and V3.lag.

Here is what I have so far, but I’m stuck now.

Any help would be highly apprecaited.

#xA;

Finally I would like to merge the three data frames into one big dataframe which will include newly created variables.

#xA;

Any help would be highly appreciated.

EDIT: In comments section I asked about moving averages instead of lags. here is the solution:

#xA;
0 投票する
1 に答える
559 参照

r - データフレームに派生変数を自動的に作成する

重複の可能性:
「apply」ファミリーの関数を使用してdata.framesのリストを処理する

6つの数値変数V1、V2、V3およびV1.lag、V2.lag、V3.lagを持つデータフレームがあります。

注:私の実際のデータセットにははるかに多くの変数がありますが、説明のためだけに3を使用しています!

すべてのV変数(ラグ変数ではない)を自動的に(ハードコーディングせずに)実行し、各V変数を対応するラグ変数で除算することによってV1.over.V1.lag変数を作成できるようにしたいと思います。

前もって感謝します

**編集:「生の」列と「ラグ」の列を識別する方法を考え出しました**

しかし、私はまだすべての生の要因をそれらの遅れの対応物で分割する方法を理解することができません

インデックスが表示されますが、それらをラグと組み合わせて新しい要素にするにはどうすればよいですか?

動作しません

0 投票する
1 に答える
194 参照

r - lapply から異なる長さの出力を抽出する

誰でもこの問題を解決するのを手伝ってくれませんか。lapply@Arun が提供する次のコードで使用しています。

現在、out110個のファイルのリストです。これらの出力ファイルは長さが異なるため、使用できませんas.data.frame(do.call(rbind, out))。各ファイルをループのような方法で個別のファイルとして保存する方法はありますか、それとも手動で行う必要がありますか (たとえばout[1]out[2]など...)。

0 投票する
4 に答える
12211 参照

r - カスタム関数 (一連の if ステートメント) を使用した sapply

2 つのベクトルを調べて、2 つのベクトルの値の符号に応じて異なる値を返す関数を実行したいと考えています。2 つの値を比較する関数を作成しましたが、これを 2 つのベクトルで実行したいと考えています。そのため、sapply を使用しましたが、予想とは異なる結果が得られています。

以下は、期待される (そして望ましい) 結果を示します。

結果: 90、0、270、180

ただし、同じ比較をしようとしても、ベクトルを sapply で使用すると、異なる結果が得られます。

結果: 90、90、180、180。

何が悪いのかわからないので、助けてください!