Hi Robin, Seems like the intended behavior to me. From the docs: "There are two special interpretations of '.' in a formula. The usual one is in the context of a 'data' argument of model fitting functions and means 'all columns not otherwise in the formula' "
d is in the formula so the only column not in the formula is nd. the (.)^2 asks for all two way interactions, but with only one variable, there are none. What were you expecting? Josh On Thu, May 24, 2012 at 9:25 PM, robin hankin <hankin.ro...@gmail.com> wrote: > Hello. precompiled R-2.15.0, svn58871, macosx 10.7.4. > > > I have discovered that defining column names of a dataframe can alter the > behaviour of lm(): > > > d <- c(4,7,6,4) > x <- data.frame(cbind(0:3,5:2)) > coef(lm(d~ -1 + (.)^2,data=x)) > X1 X2 X1:X2 > -1.77 0.83 1.25 > R> > R> > > > OK, so far so good. But change the column names of 'x' and the behaviour > changes: > > > colnames(x) <- c("d","nd") # 'd' == 'death' and 'nd' == 'no death' > coef(lm(d~ -1 + (.)^2,data=x)) > nd > 0.2962963 > > > > I am not sure if this is consistent with the special meaning of '.' > described under ?formula. > > Is this the intended behaviour? > > > -- > Robin Hankin > Uncertainty Analyst > hankin.ro...@gmail.com > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- Joshua Wiley Ph.D. Student, Health Psychology Programmer Analyst II, Statistical Consulting Group University of California, Los Angeles https://joshuawiley.com/ ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel