問題タブ [contingency]
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 で分割表をコンパイルする前に調査の重みをデータに適用する
私が分析している調査のサンプルは無作為に選択されたものではないため、母集団を代表する調査結果を作成するには、重みのベクトルを適用する必要があります。wtd.table()
(gmodels から) を使用して頻度表を作成しましたが、分割表を作成して 2 つのカテゴリ変数を比較し、カイ 2 乗検定を実行したいと考えています。適切な関数を見つけるのに苦労しています。パッケージのsvytable()
関数はsurvey
有望に思えますが、重みベクトルをどこに入力すればよいかわかりません。私はRを初めて使用します。誰かがsvytable()
代替案の使用方法または提案方法を説明できますか?
r - R は、ファイル全体を RAM に置かずに、大きなファイルの分割表を計算できますか?
質問を説明しましょう:
私は関数を知っているtable
かxtabs
、分割表を計算しますが、常に RAM に格納される data.frame を期待しています。これを大きなファイル (たとえば、20 GB、私が取り組まなければならない最大値) で実行しようとすると、非常に苦痛になります。
一方、SAS はファイルを 1 行ずつ読み取り、その過程で結果を更新するため、これを完全に実行できます。したがって、RAM には常に 1 行しかないため、はるかに許容されます。
私は、SAS で行う方法がわからなかったり、面倒すぎると思ったりする、より複雑なことをしなければならなかったときに、アドホックな Python プログラムで SAS と同じことをしたことがあります。Python の構文と統合された機能 (辞書、正規表現など) は、その弱点を補っています (主に速度ですが、20 GB を読み取る場合、いずれにしても速度はハード ドライブによって制限されます)。
私の質問: R でこれを行うためのパッケージがあるかどうか知りたいです。Python で行うようにファイルを 1 行ずつ読み取ることができることは知っていますが、単純な統計 (たとえば、分割表) を大きなファイルは非常に基本的なタスクであるため、統計パッケージでそれを行うには多かれ少なかれ「統合された」機能が必要だと思います。
この質問を「Cross Validated」で行うべきかどうか教えてください。統計よりもソフトウェアに関するものなので、疑問がありました。
r - R のマクネマー検定 - スパース データ
McNemar 検定を使用して、R を介して適切なサイズのデータセットを実行しようとしています。ペアのサンプルで、ある方法で検出されたオブジェクトの割合に違いがあるかどうかを判断します。2x2 のテーブルがある場合、テストが正常に機能することに気付きました
しかし、次のようなものを実行しようとすると:
「x」と「y」は同じレベル数 (最小 2) でなければならないというエラーが表示されます。
ワイド データ セットでテーブル関数を使用してワイド データを 2x2 行列に変換しようとしたことを明確にする必要があります。
factor object オプションを使用して mcnemar.test も実行しましたが、同じエラーが発生したため、同様のことが行われると想定しています。これらのカテゴリのいずれかに該当する観測がないにもかかわらず、テーブル関数に 2 番目の列を強制的に生成させる方法があるかどうか、またはテストでこの欠落データを見落とす方法があるかどうか疑問に思っています。
r - R: table() で省略された 0 を出力する - 分割表
table() をループすることにより、大規模な分割表のセットを使用します。単純な問題: 0 のみを含む列は出力で省略されます。これは table() を使用して調整できますか?
例:
データ
私が得る出力:
私が必要とする出力:
ありがとう。
r - 表の第 3 四分位数を超える度数を見つける
私は大きなデータ フレーム (57 変数で +239k 観測) を持っており、いくつかの病気の説明と、さまざまな年齢層の人々のためにそれらの病気に投与された薬が含まれています。病気の説明ごとに、使用頻度の上位 4 分の 1 に含まれる薬を見つけたいと思います。
再現可能な例を作成するために、1000 個の観測データ フレームを作成しました。
頻度の表を作成できます
その後、各年齢層のデータ フレームを作成できます
次に、各病気の頻度の第 3 四分位数を次のように求めます。
各病気の第 3 四分位以上の薬を比較して取得できます。
これが病気 A の最上位の選択であると結論付けることができますmed 3
(その情報を抽出するために実際にループしています)。次に戻って、グループ b、c のプロセスを繰り返します...これは、私が持っているデータのサイズではほとんど不可能です (病気は約 4200 レベル、薬は約 1150 レベルです)。
これを達成するための別の簡単な方法があるはずです。たどるより良い道のヒントをいただければ幸いです。
r - 複数のテーブルに対する分割表
次のようなテーブルがあります。
そして、列1からの頻度をすべてに対してカウントし、次のようなものを取得したいと思います:
それは可能ですか?table()
andを試してみましftable()
たが、出力が期待したものと一致しません。
r - 分割表の作成
次のようなデータがあります。
そして、次のような分割表を作成したいと思います。
意味: 列 A に従って、列 B の各 2 つの値について、特定の分割表のマーク + 1。
これを行うのを手伝ってもらえますか?