1

にはR、次のものがありますdata.frame

df <- data.frame(var1,var2,var3)

multinom変数名を明示的に使用せずに、変数ごとに のような回帰関数を当てはめたいと思います。つまり、次の結果を得たいと考えています。

fit1 <- multinom(var1 ~ ., data=df)
fit2 <- multinom(var2 ~ ., data=df)
fit3 <- multinom(var3 ~ ., data=df)

しかし、 for ループでは、変数名を使用せずに (任意の に同じコードを使用できるようにdata.frame)。これに似たもの:

for (i in colnames(df))
{
  fit[i] <- lm(i ~ ., data=df)
}

(このコードは機能しません。)

私の質問は些細なことかもしれませんが、どうすればよいかわかりません。

ありがとう!

4

1 に答える 1

3

文字列操作を使用して数式オブジェクトを作成するには、追加の手順を追加する必要があります

fit <- vector(mode = "list", length = ncol(df))
for (i in colnames(df)) {
    fm <- as.formula(paste0(i, " ~ ."))
    fit[[i]] <- lm(fm, data = df)
}
于 2014-03-16T12:42:43.650 に答える