[解決済み] 動的な変数数を持つ数式
2023-05-17 08:39:33
質問
あるdata.frameがあったとします。 foo_data_frame で、対象列の回帰を求めたい場合 Y を他の列で回帰させたい。そのためには、通常、いくつかの式とモデルが使われる。例えば
linear_model <- lm(Y ~ FACTOR_NAME_1 + FACTOR_NAME_2, foo_data_frame)
式が静的にコード化されている場合、それはうまく機能します。もし、一定の従属変数の数(例えば、2)でいくつかのモデルにわたってルートすることが望まれるなら、それはそのように扱うことができます。
for (i in seq_len(factor_number)) {
for (j in seq(i + 1, factor_number)) {
linear_model <- lm(Y ~ F1 + F2, list(Y=foo_data_frame$Y,
F1=foo_data_frame[[i]],
F2=foo_data_frame[[j]]))
# linear_model further analyzing...
}
}
質問ですが、プログラム実行中に変数の数が動的に変化する場合、同じ効果を得るにはどうしたらよいでしょうか?
for (number_of_factors in seq_len(5)) {
# Then root over subsets with #number_of_factors cardinality.
for (factors_subset in all_subsets_with_fixed_cardinality) {
# Here I want to fit model with factors from factors_subset.
linear_model <- lm(Does R provide smth to write here?)
}
}
どのように解決するのですか?
参照
?as.formula
を、例えば
factors <- c("factor1", "factor2")
as.formula(paste("y~", paste(factors, collapse="+")))
# y ~ factor1 + factor2
ここで
factors
はモデルで使用したい因子の名前を含む文字ベクトルです。これは
lm
モデルに貼り付けることができます。
set.seed(0)
y <- rnorm(100)
factor1 <- rep(1:2, each=50)
factor2 <- rep(3:4, 50)
lm(as.formula(paste("y~", paste(factors, collapse="+"))))
# Call:
# lm(formula = as.formula(paste("y~", paste(factors, collapse = "+"))))
# Coefficients:
# (Intercept) factor1 factor2
# 0.542471 -0.002525 -0.147433
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
RStudio の "plot.new() : figure margins too large" 問題を解決する。
-
[解決済み] Rの二乗偏差の総和の算出
-
[解決済み] HTML、PDF、DOCXで見栄えのするシンプルな手動のRMarkdownテーブル
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み] Rで複数行のコメントを持つことは可能ですか?[重複している]。
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み] ベクトル中のxの値を持つ要素の個数を数える
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
-
[解決済み] data.frameの1つの列の名前を変更する方法は?
-
[解決済み】R関数でオプション引数を指定する "正しい "方法