[R] Applying function to all elements of a formula

Dennis Murphy djmuser at gmail.com
Sat Jun 18 10:41:43 CEST 2011


Yes, it's possible, but if you want to do prediction on future
x-values, you will likely have a problem.

One way to do it would be something like (assuming y is the first column of dat)

reg <- lm(y ~ log(as.matrix(dat[, -1])), dat)

but the output would be pretty ugly (see summary(reg)). Another would
be to construct the matrix outside the data frame and do something
like

X <- log(as.matrix(dat[, -1]))
reg <- lm(dat$y ~ X)

There may be better ways, though...

Dennis

On Fri, Jun 17, 2011 at 11:08 PM, Scott Fortmann-Roe <scottfr at gmail.com> wrote:
> Hi,
>
> I would like to do a regression like:
>
>         reg <- lm(y~log(.), data)
>
> where the log function is applied to "." in the form:
>
>        log(x1)+ log(x2)+ log(x3)...
>
> instead of in the form
>
>       log(x1+x2+x3+...)
>
>
> Is this possible?
>
> Thank you,
> Scott
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list