問題タブ [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 - ddply と lapply で NA を含むカテゴリを集計しますか?
3 つのカテゴリで data.frame を集約したいと思いますが、そのうちの 1 つが異なります。残念ながら、この 1 つの異なるカテゴリには NA が含まれています (実際には、これが変更する必要がある理由です)。ということで、リストを作成しましたdata.frames
。このリスト内のすべての data.frame には、3 つの変数に関する完全なケースのみが含まれています (変化する変数は 1 つだけです)。
これを再現しましょう:
y
私が得たいものに非常に近い
しかし、3 番目の可変変数 (この場合は と ) に対する集計を実装する必要がありcategory
ますcategoryA
。と同じように:
など。名前 (x) を lapply に追加するにはどうすればよいですか? またはここにループまたは環境が必要ですか?
編集:カテゴリまたはカテゴリAのいずれかをミックスに追加することに注意してください。実際には、相互に排他的なカテゴリ変数が約 15 あります。
r - データ フレーム内の以前のすべての値の最大値を測定する
データ フレームの列の値が新しい高値であるかどうかを判断する関数を作成しようとしています。たとえば、次のデータがあるとします。
以前のすべての値のみを考慮した新しい列で TRUE または FALSE を返すにはどうすればよいですか。結果のテーブルは次のようになります。
私が試したら
前のすべての値のサブセットではなく、列全体の最大値を計算する結果の表を以下に示します。
r - リスト内のdata.frameの名前を取得するには?
リストからデータ フレームの名前を取得するにはどうすればよいですか? 確かにget()
、オブジェクト自体を取得しますが、その名前を別の関数内で使用できるようにしたいと考えています。回避策を提案する場合の使用例を次に示します。
各データ フレームには、リスト内のデータ フレームと同じ名前の列があります。どうすればこの名前を取得できbynameofX
ますか? names(X)
ベクトル全体を返します。
編集: 再現可能な例を次に示します。
r - rapplyコマンドを介して乗算回帰から回帰係数を抽出します
いくつかの変数を含む大規模なデータセットがあります。そのうちの 1 つは、州ごとに 1 ~ 50 でコード化された州変数です。データセットの残りの 27 個の変数 (合計 55 個の変数があります) で 28 個の変数の回帰を実行し、各州に固有のものを実行したいと思います。
つまり、state==1 の観測値に対して、共変量 1、共変量 2、...、共変量 27 で変数 1 の回帰を実行します。次に、状態 2 ~ 50 の変数 1 に対してこれを繰り返し、変数 2、変数 3、...、変数 28 に対してプロセス全体を繰り返します。
これを行うための正しい R コードを作成したと思いますが、次にやりたいことは、係数を理想的には係数行列に抽出することです。誰かがこれで私を助けてくれますか? これまでに書いたコードは次のとおりです。
r - ラップ後にアイテムにアクセスできません
lapply
データフレーム内の文字列を分割しようとしています。文字列はすべて に似てい"02D_48M_RHD"
ます。「D」の前と「M」の前の数字を取得しようとしています。
私の使用はlapply
うまくいっているようです:
ただし、私の人生では、a [ 1 ] のベクトルの最初の要素だけにアクセスする方法を理解することはできません。ドキュメントa[[1]][1]
は、最初の要素を提供する必要があることを示唆していますが、これが起こることです:
これが機能しない理由がわかりません。R は、これがベクトルであると教えてくれますが、長さが 1 であるとも言っています。
何を誤解しているのかわかりません。私lapply
が期待する以外の方法で出力を提供していますか? 長さ 3 のベクトルのリストを期待すると、そのようになります。または、それは私が得ているものですが、間違ってアクセスしようとしていますか?
最終的には、これらの情報ごとに 1 つずつ、3 つの列をデータ フレームに追加したいので、その方向に進むのに役立つものは何でも大歓迎です。
r - lapplyは実際にどのように機能しますか-lapplydcast?
明らかに、私はまだlapplyが実際にどのように機能するかを完全には理解していません。もちろん、リスト要素に関数を適用してリストを返します。しかし、カスタム関数で使用する場合、効率的に使用する方法がわかりません。たとえば、dcastを使用するカスタム関数で使用したいと思います。
まず、サンプルデータセットを取得しましょう。
しかし、私はこれをlapplyに合わせることができません、私は試しました:
明らかに、式を評価するときにX[[2L]]は機能しません。さらに試してみました
これはいくつかの同様の問題で機能していましたが、ここでエラーが発生しました。ここで使うべきですか?
編集:ジョシュアの答えがまさに私が望んでいるものであることに私は驚いています。私は前にその道を進んでいましたが、試したときに早くそれを却下しました:
明らかに早すぎますが、何が起こるか説明できますか?
r - igraphの使用:decompose.graph()によって構築されたコンポーネントのコミュニティメンバーシップ
、およびdecompose.graph
からのコミュニティ検出機能の使用についてサポートをいただければ幸いです。igraph
lapply
頂点属性が「label」でエッジ属性が「weight」のigraphオブジェクトGがあります。簡単にするために、igraphとは異なる関数を使用してコミュニティメンバーシップを計算したいと思いますwalktrap.community
。
このグラフは連結されていないため、連結成分に分解してwalktrap.community
各成分で実行し、その後、元のグラフGにコミュニティメンバーシップの頂点属性を追加することにしました。
私は現在次のことをしています
この時点で、私が理解できない構造を持つリストオブジェクトを取得したため、行き詰まりました。のドキュメントにdecompose.graph
は、リストオブジェクトが返されることだけが記載されてlapply
おり、結果を使用すると完全に混乱します。weights
さらに、コミュニティには各コンポーネントで0から番号が付けられており、パラメーターをwalktrap.community
関数に提供する方法がわかりません。
コンポーネントがなかったら、私は次のことをしたでしょう。
誰かが私がこの問題を解決するのを手伝ってくれませんか?または役立つ情報/リンクを提供しますか?
r - lapply 関数でリスト名にアクセスして保持する
lapply 関数内のリスト名にアクセスする必要があります。関数内の各リスト要素名を取得できるようにするには、リストの名前を反復処理する必要があると言われているオンラインのスレッドをいくつか見つけました。
問題は、mynewlist が元の mylist インデックスを失い、それらを復元するためにその last names() 割り当てを追加する必要があることです。
lapply 関数によって返される各要素に明示的なインデックス名を付ける方法はありますか? または、mynewlist 要素に正しいインデックス名が設定されていることを確認する別の方法はありますか? lapply がリスト要素を mylist と同じ順序で返さない場合、mynewlist のインデックス名が間違っている可能性があると思います。
r - フォルダ内のすべてのファイルを読み取り、各データフレームに関数を適用します
私は、特定のフォルダー内のすべてのファイルに対して関数に入れた比較的単純な分析を行っています。さまざまなフォルダでプロセスを自動化するのに役立つヒントが誰かあるかどうか疑問に思いました。
- まず、特定のフォルダ内のすべてのファイルを直接Rに読み込む方法があるかどうか疑問に思いました。次のコマンドですべてのファイルが一覧表示されると思います。
files <- (Sys.glob("*.csv"))
... Rを使用して指定された拡張子を持つすべてのファイルを一覧表示することで見つけました
そして、次のコードはそれらすべてのファイルをRに読み込みます。
しかし、ファイルは個々のファイルではなく、1つの連続したリストとして読み込まれるようです。スクリプトを変更して、特定のフォルダー内のすべてのcsvファイルを個々のデータフレームとして開くにはどうすればよいですか。
次に、すべてのファイルを個別に読み取ることができると仮定して、これらすべてのデータフレームで関数を一度に完了するにはどうすればよいですか。たとえば、4つの小さなデータフレームを作成したので、必要なものを説明できます。
関数の例も作成しました。
通常、次のコマンドを使用して、個々のデータフレームに関数を適用します。
Df1.summary <-Summary(dfile)
関数をすべてのデータフレームに適用する代わりに、サマリーテーブル(つまりDf1.summary)でデータフレームのタイトルを使用する方法はありますか?
どうもありがとう、
ケイティ
r - Rでは、binomial()とlapplyを使用してpredict()値を0と1の間に制約します
以下に示すように、predict()関数内で適用するGLM、family = binomial(link = logit)モデルがあります。予測値は0と1を超えていますが、確率として保持したいと思います。そこで、apply関数で使用できるbinomial()$inverseコマンドを使用します。
これは、最初に実行したときは問題なく機能しましたが、Rを閉じて再開した後、次のエラーが発生します。
このコードは通常は機能していたので、私はこれに何時間も苦労してきました。誰かが私が間違っていることについて考えを持っていますか?これを行うためのより良い方法はありますか?
私のコードは以下の通りです。他のバリエーションも試しましたが、動作しません。