Y、X1、X2、Vの列を持つデータセットがあります.Y、X1とX2は連続していますが、Vはカテゴリ変数です。 Vが10個のカテゴリを持つと仮定して、10個の線形回帰モデルを作成し、その結果(係数、p値、R-Sqなど)を別のテーブルに保存したいと考えています。 forループを使わずにdata.tableで処理する方法はありますか?ありがとう。ループなしで回帰モデルの配列を生成
-3
A
答えて
0
broom packageは、このタイプの問題のために正確に存在します。簡単な保管と比較のために、モデルの出力をきちんとしたデータフレームに「整理」します。ほぼ同じ問題を解決するためにbroom
とdplyr
を使用するexampleがここにあります。これはdplyr
を使用してデータをカテゴリ変数でグループ化し、モデルを各グループに適合させ、わずか数行のコードで係数をdata.frameに抽出します。私はdata.table
のグループ化された操作に慣れていませんが、パッケージと同様のことを実行することは可能かもしれません。
さらに、broom
は、適合度メトリックおよび他のサマリー統計を計算するために使用できるaugment
関数を持っています。あなたが追加パッケージをインストールせずにそれをしたい場合は
あるいは、あなたはおそらく別のlapply
て(結果を抽出し、リストにlapply
、(split
機能を使用して)リストにモデリングプロセスを、あなたのデータフレームを分割することができることlm
オブジェクトから情報を抽出します)、次にrbind
すべてをまとめます。
3
ベースR関数by
はあなたが望むものです。 by
機能で
# make up some sample data
dataSet <- data.frame(Y = iris$Sepal.Length,
X1 = iris$Sepal.Width,
X2 = iris$Petal.Length,
V = iris$Species)
# apply the `lm` function by the value of `V`
by(data = dataSet[c("Y","X1","X2")],
INDICES = dataSet$V,
FUN = lm,
formula = Y ~ .)
、data
はあなたに関数を適用するデータです。 INDICES
は、どのようにデータを分割するかを示すdata
の各行に対応する1つの値を持つファクタまたはファクタのベクトルです。 FUN
は、データのサブセットに適用する関数です。この場合、lm()
は、データをモデル化する方法を示す特別なパラメータformula
を必要とします。したがって、ファンクションでは、そのままformula
パラメータとして渡すことができます。
関連する問題
- 1. R回帰ループ
- 2. ループ内の回帰ループ
- 3. SPSSのループ回帰
- 4. R階段回帰モデル列名(データテーブル)
- 5. MATLABループなしの配列の通常の乱数生成
- 6. カフェ回帰モデルを導入
- 7. pymc3で3レベルのロジスティック回帰モデルを作成する
- 8. R - 線形回帰のループ
- 9. モデルは、ランダムフォレスト回帰pyspark ml
- 10. RでXGBoostを回帰モデルに使用
- 11. Python:OLS回帰でインターセプトが生成されない
- 12. ロジスティック回帰モデルのロジスティック曲線を作成する
- 13. サポートベクトル回帰モデルをチューニングする際のエラーが発生しました。
- 14. foreachループは空の配列で1回ループする、バグ?
- 15. ループなしで再帰的に関数を入力するscanf配列
- 16. scikitで異なるフィーチャ次元を持つロジスティック回帰モデルlearn
- 17. 回帰木とモデル木の違い
- 18. Javaで配列の回数だけを出力するループで配列を作成する方法は?
- 19. javascriptで配列を生成
- 20. forループを使用した単純な線形回帰
- 21. 回帰の列名の上にループする
- 22. 再帰を使用したブール値配列によるループ
- 23. Tensorflow線形回帰 - 指数モデルがフィッティングしない指数
- 24. 回帰回帰を回す?
- 25. 異なる観察をしたRの回帰回帰
- 26. メニュー配列を再帰的に作成
- 27. R(Amelia、zelig、lme4)の多重帰属データセットのマルチレベル回帰モデル
- 28. どのように異なる回帰モデルを適用する
- 29. 統計モデルとsklearnで異なる線形回帰係数
- 30. 最適化アルゴリズムと回帰モデル
nlmeパッケージの 'lmList'を参照してください。 SOに関する質問をするときに再現可能な例を提供する方法については、[mcve]を参照してください。 –
ありがとうございます。私はlmListを試してみました。私はcoeffsだけを取得しましたが、私はR-Sq、p値などを得る方法を理解することができると確信しています – mlg
http://stackoverflow.com/questions/23501852/print-r-squared-for-all- of-the-the-models-fit-with-lmlist –