問題タブ [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 投票する
1 に答える
668 参照

r - lapply() 関数を使用して入力の値を変更できますか?

次のように、 lapply() 関数を使用して入力の値を変更できるかどうか疑問に思っていました。

for() ループに似たものを探していますが、lapply() インフラストラクチャを使用しています。これを行うために rapply() を取得できませんでした。

その理由は、「実際の」a2 関数は、a1[i-1] の値がいくつかの基準を満たしている場合にのみ評価する必要がある難しい関数だからです。

言い直し: だから私は以下のコードの for() を lapply() タイプのものに置き換えようとしています:

R メーリング リストは、Reduce() 関数を検討することを勧めています....次のように:

cumprod(a1) と同じ結果が得られますが、ループよりもさらに遅くなります。

何か案が ?

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

list - リストごとにdata.frameをサブセット化し、行ごとに各部分に関数を適用します

これは典型的なplyr問題のように思われるかもしれませんが、私は別のことを考えています。これが私が最適化したい関数です(forループをスキップします)。

そして今、短いデモンストレーション...実際、私は主に何をしようとしていたのかを説明しようとしています。オブジェクトdata.frameに集められたベクトルでサブセット化したかった。listこれは心理学研究におけるデータ操作に伴う関数のコードの一部であるためm、性格調査票(10科目、20変数)の結果とみなすことができます。リスト内のベクトルは、質問票のサブスケール(性格特性など)を定義する列インデックスを保持します。各サブスケールは、いくつかの項目(の列data.frame)によって定義されます。各サブスケールのスコアsumが行の値(各サブジェクトのアンケートのその部分の結果)の(または他の関数)にすぎないと仮定すると、次のように実行できます。

私はこの関数を一瞥しましたが、この小さなループがコードをまったく損なうものではないことを認めなければなりません...しかし、これを行うためのより簡単で効率的な方法がある場合は、私に知らせてください!

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

r - R のデータ フレーム内の因子のレベルを示す星の文字列を含む列を作成する方法

(今日の 2 番目の質問 - 悪い日になるはずです)

濃度列(数値)、無効な結果を強調表示するフラグ(ブール値)、問題の説明(文字)など、さまざまな列を持つデータフレームがあります

理由列の数値レベルで列を作成できます

そして、これが「レベル」の多くの星を持つ列を作成するためにやりたいことですが、失敗します

rep には一度に 1 つの値を入力する必要があるようです。私はこれが可能であるべきだと感じています(そして、私の腸は「ラップリーを使用してください」と言っていますが、私の適用fuはv.貧弱です)

試してみたい人はいますか?

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

r - エラーを無視してリストの次のものを処理するように lapply に指示する方法は?

以下に、日付を文字列として読み取り、日付オブジェクトとして返す関数の例を示します。日付に変換できない文字列を読み取ると、エラーが返されます。

ここで、lapply を使用して、この関数を日付のリストに適用します。

しかし、2 つの適切な日付の中間にある 1 つの文字列がエラーを返したときにリストに関数を適用したい場合、これに対処する最善の方法は何ですか?

そこにtry catchが必要だと思いますが、lapplyに続行して3番目の日付を読み取るように依頼しながら、「foo」文字列のエラーをキャッチする方法はありますか?

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

r - より高いスコープで変数を変更できません

私はしばしば本質的に次のことをしたい:

しかし、mat には 10 個の乱数が含まれていると思いますが、むしろ 0 です。 lapply の無名関数) lapply 内から行列マットに影響を与えないようにすることはできますか? なぜだめですか?これをブロックしているRのスコープルールはありますか?

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

r - R の質問です。data.frame で lappy を使用し、出力付きの新しい変数を作成する

data.frame (「UNCA」と呼ばれる) に 13 個の量的変数があります。

変数の名前は、q01_a、q01_b、...q01_m です。

同じ値を持つが因子としてコード化された 13 個の新しい変数を作成したいと考えています。

これら 13 個の新しい変数に q01_a.F、q01_b.F、...q01_m.F という名前を付けたいと思います。

どんな助けでも大歓迎です!

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

r - Rの列を置き換える方法は?日付のある奇妙な行動

珍しい日付形式を標準の日付に変換しようとしています。基本的に、次のようにフォーマットされた半年ごとの頻度の期間を含むデータセットがあります。206は2006年の後半を示し、106は前半を示します。それを2006-06-01にそれぞれ2006-01-01に再配置するために、私は小さな関数を書きました:

あなたは今笑うかもしれません:)。とにかく、その機能は機能し、ここで問題が発生します。この関数をdata.frameの時間列に適用したいと思います。私は次のことを試しました:

これは、私が望むものに最も近い結果を返しました:structure.13665..class .... Date .. 1 2006-06-01

など..明らかに、私の列の名前を保持したいのですが、さらに良いのは、新しくフォーマットされた日付を元のdfに追加することです。さらに、私は試しました:

[1] 13300 13514 13665

私がやりたいのは、珍しい206などの形式を2006-06-01(機能する)に変更し、mydf(機能しない)に列を追加することだけです。

事前に提案をお願いします!

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

testing - R: lapply() タイプのテストケースの作成

私は、Amazon の Elastic Map Reduce エンジンを処理用の「グリッド」として使用する並列 lapply() タイプの関数を作成するコードに取り組んできました (そうです、これはレデューサーのないマッパーです)。コードが安定したら、foreach バックエンドとして抽象化します。しかし、まず、持っているコードをテストするためのテストを作成する必要があります。

この関数の良いテストケースは何ですか?

現在の私の正規のテストケースは次のとおりです。

このテスト ケースでは、オプションの引数na.rm=Tがリモート マシンに適切に渡されることを確認します。私が使用できる他のテストケースは何ですか? 将来的にはサポートしますが、現在はサポートsimplifyも議論もしていません。USE.NAMES

0 投票する
5 に答える
67030 参照

r - 複数の.txtファイルをRにどのように読み込みますか?

Rを使用して、すべて.txt形式のデータを視覚化しています。ディレクトリには数百のファイルがあり、すべてを1つのテーブルに一度にロードしたいと思います。

何か助けはありますか?

編集:

ファイルの一覧表示は問題ありません。しかし、リストからコンテンツに移動するのに問題があります。ここからいくつかのコードを試しましたが、この部分にバグがあります。

言って

この問題を明確にするコードスニペットをいただければ幸いです。

0 投票する
10 に答える
424326 参照

r - グループ化関数 (tapply、by、aggregate) と *apply ファミリー

R で何か "map"py を実行したいときはいつでも、通常はapplyファミリ内の関数を使用しようとします。

しかし、私はそれらの違いを完全には理解していませんでしsapplylapply.私が欲しいものを手に入れるまで、それらすべてを調べてください。

誰かがいつどちらを使用するかを説明できますか?

私の現在の(おそらく間違っている/不完全な)理解は...

  1. sapply(vec, f): 入力はベクトルです。output は vector/matrix であり、 elementiはであり、複数要素の出力があるf(vec[i])場合は行列が得られますf

  2. lapply(vec, f): と同じsapplyですが、出力はリストですか?

  3. apply(matrix, 1/2, f): 入力は行列です。出力はベクトルで、要素iは f(行列の行/列 i) です。
  4. tapply(vector, grouping, f): 出力は行列/配列であり、行列/配列の要素はベクトルfのグループ化の値であり、行/列の名前にプッシュされますgg
  5. by(dataframe, grouping, f):gグループ化します。fグループ/データフレームの各列に適用されます。fグループ化と各列の値をきれいに印刷します。
  6. aggregate(matrix, grouping, f): に似てbyいますが、出力をきれいに印刷する代わりに、集約はすべてをデータフレームに貼り付けます。

副次的な質問: 私はまだプライヤーやリシェイプを学んでいません。これらすべてを完全に置き換えますかplyr?reshape