title: Specifying formula in R with glm without explicit declaration of each covariate
body: <p>I would like to force specific variables into glm regressions without fully specifying each one.  My real data set has ~200 variables.  I haven't been able to find samples of this in my online searching thus far.</p>
  
  <p>For example (with just 3 variables):</p>
  
  <pre><code>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))))))
  </code></pre>
  
  <p>If I want to include all main terms, this has an easy shortcut:</p>
  
  <pre><code>glm(Y~., family=binomial, data=samp)
  </code></pre>
  
  <p>But say I want to include all main terms (W1, W2, and A) plus W2^2:</p>
  
  <pre><code>glm(Y~A+W1+W2+I(W2^2), family=binomial, data=samp)
  </code></pre>
  
  <p>Is there a shortcut for this?</p>
  
  <p>[editing self before publishing:] This works! <code>glm(formula = Y ~ . + I(W2^2), family = binomial, data = samp)</code> </p>
  
  <p>Okay, so what about this one!</p>
  
  <p>I want to omit one main terms variable and include only two main terms (A, W2) and W2^2 and W2^2:A:</p>
  
  <pre><code>glm(Y~A+W2+A*I(W2^2), family=binomial, data=samp)
  </code></pre>
  
  <p>Obviously with just a few variables no shortcut is really needed, but I work with high dimensional data.  The current data set has "only" 200 variables, but some others have thousands and thousands.</p>