From jwiley.psych at gmail.com  Fri May 25 06:46:46 2012
From: jwiley.psych at gmail.com (Joshua Wiley)
Date: Thu, 24 May 2012 21:46:46 -0700
Subject: [Rd] columnames changes behaviour of formula
In-Reply-To: <CAHHjBM7u86wbiuO-uBje8si5NiEbj=WzktCK9MmtFEthaS374g@mail.gmail.com>
References: <CAHHjBM7u86wbiuO-uBje8si5NiEbj=WzktCK9MmtFEthaS374g@mail.gmail.com>
Message-ID: <CANz9Z_+A8xJNdLHhh=1qN_QXAvhqy00s6cSPq+Knog-YSbd-EQ@mail.gmail.com>

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.robin at 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.robin at gmail.com
>
> ? ? ? ?[[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at 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/



[Rd] columnames changes behaviour of formula
Joshua Wiley