名前で除外する列を指定する場合は、Dasonの答えに代わるものがあります。を使用しsubset()
、select
引数を指定します。
df = data.frame(y = 1:10, x1 = runif(10), x2 = rnorm(10))
fit = lm(y ~ ., data = subset(df, select=-x1))
使用しようとするdata[,-c("x1")]
と、「単項演算子の引数が無効です」で失敗します。
複数の列を除外するように拡張できます。subset(df, select = -c(x1,x2))
また、数値列を引き続き使用できます。
df = data.frame(y = 1:10, x1 = runif(10), x2 = rnorm(10))
fit = lm(y ~ ., data = subset(df, select = -2))
(これはが 2 列目であるsubset(df, select=-x1)
ためと同等です。)x1
もちろん、これを使用して含める列を指定することもできます。
df = data.frame(y = 1:10, x1 = runif(10), x2 = rnorm(10))
fit = lm(y ~ ., data = subset(df, select=c(y,x2)) )
(はい、これは と同等ですが、たとえばlm(y ~ x2, df)
を使用する場合は異なります。)step()