Я хотел бы заставить определенные переменные в регрессии glm без полного указания каждого из них. Мой реальный набор данных имеет ~ 200 переменных. До сих пор я не смог найти образцы этого в моем онлайн-поиске.
Например (всего 3 переменные):
n=200
set.seed(39)
samp = data.frame(W1 = runif(n, min = 0, max = 1), W2=runif(n, min = 0, max = 5))
samp = transform(samp, # add A
A = rbinom(n, 1, 1/(1+exp(-(W1^2-4*W1+1)))))
samp = transform(samp, # add Y
Y = rbinom(n, 1,1/(1+exp(-(A-sin(W1^2)+sin(W2^2)*A+10*log(W1)*A+15*log(W2)-1+rnorm(1,mean=0,sd=.25))))))
Если я хочу включить все основные термины, это имеет простой ярлык:
glm(Y~., family=binomial, data=samp)
Но скажу, что я хочу включить все основные термины (W1, W2 и A) плюс W2 ^ 2:
glm(Y~A+W1+W2+I(W2^2), family=binomial, data=samp)
Есть ли ярлык для этого?
[редактирование себя перед публикацией:] Это работает! glm(formula = Y ~ . + I(W2^2), family = binomial, data = samp)
Хорошо, так что насчет этого!
Я хочу опустить одну основную переменную терминов и включить только два основных члена (A, W2) и W2 ^ 2 и W2 ^ 2: A:
glm(Y~A+W2+A*I(W2^2), family=binomial, data=samp)
Очевидно, что с помощью нескольких переменных не требуется ярлык, но я работаю с данными высокого уровня. В текущем наборе данных есть только "200", но некоторые другие имеют тысячи и тысячи.