Запуск регрессии - PullRequest
0 голосов
/ 04 июня 2018

Справочная информация: мой набор данных содержит 52 строки и 12 столбцов (предположим, что имена столбцов A - L), а имя моего набора данных foo

Мне сказали запуститьрегрессия, где foo$L является зависимой переменной, а все остальные переменные независимы, за исключением foo$K.

. То, как я это делал, это

fit <- lm(foo$L ~ foo$a + ... +foo$J) 

, затем вызывается

summary(fit)

Является ли мой способ хорошим способом провести регрессию и найти перехват и коэф?

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Используйте аргумент data для lm, чтобы вам не приходилось использовать синтаксис foo$ для каждого предиктора.Используйте dependent ~ . в качестве формулы, чтобы зависимая переменная была предсказана всеми другими переменными.Тогда вы можете использовать - K для исключения K:

data_mat = matrix(rnorm(52 * 12), nrow = 52)

df = as.data.frame(data_mat)
colnames(df) = LETTERS[1:12]

lm(L ~ . - K, data = df)
0 голосов
/ 04 июня 2018

Вы можете сначала удалить столбец K, а затем сделать fit <- lm(L ~ ., data = foo).При этом столбец L будет рассматриваться как зависимая переменная, а все остальные столбцы - как независимые переменные.Вам не нужно указывать имена каждого столбца в формуле.

Вот пример использования mtcars, подгоняющий модель множественной регрессии к mpg со всеми другими переменными, кроме carb.

mtcars2 <- mtcars[, !names(mtcars) %in% "carb"]

fit <- lm(mpg ~ ., data = mtcars2)

summary(fit)

# Call:
#   lm(formula = mpg ~ ., data = mtcars2)
# 
# Residuals:
#   Min      1Q  Median      3Q     Max 
# -3.3038 -1.6964 -0.1796  1.1802  4.7245 
# 
# Coefficients:
#   Estimate Std. Error t value Pr(>|t|)   
# (Intercept) 12.83084   18.18671   0.706  0.48790   
# cyl         -0.16881    0.99544  -0.170  0.86689   
# disp         0.01623    0.01290   1.259  0.22137   
# hp          -0.02424    0.01811  -1.339  0.19428   
# drat         0.70590    1.56553   0.451  0.65647   
# wt          -4.03214    1.33252  -3.026  0.00621 **
# qsec         0.86829    0.68874   1.261  0.22063   
# vs           0.36470    2.05009   0.178  0.86043   
# am           2.55093    2.00826   1.270  0.21728   
# gear         0.50294    1.32287   0.380  0.70745   
# ---
#   Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 2.593 on 22 degrees of freedom
# Multiple R-squared:  0.8687,  Adjusted R-squared:  0.8149 
# F-statistic: 16.17 on 9 and 22 DF,  p-value: 9.244e-08
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...