[R] function to transform response of a formula
Paul Emberson
email at calidasoft.co.uk
Wed Jul 30 14:50:32 CEST 2008
Hi,
I am now trying to use update.formula from within a function but I am
not able to get the result I want. Here is an example
f <- function(fm, n) {
update(fm, n*. ~ .);
}
If I run
> fm <- formula( y ~ a + b )
> f(fm,3)
n * y ~ a + b
Now when I try to use the formula, n does not exist. Is there a way I
can change my function so that n is replaced by its value within the
formula created by f?
Thanks,
Paul
email at calidasoft.co.uk wrote:
> Its ok.
>
> I've just read about update.formula in another message.
>
> Paul
>
> Paul Emberson wrote:
>> Hi,
>>
>> I am trying to write a function which takes a formula as input and
>> outputs a new formula with a different response while keeping the rest
>> of the formula the same.
>>
>> I.e.
>>
>> respapply : ( y ~ a+b ) -> ( f(y) ~ a + b )
>>
>> I have tried the following but it doesn't work. The terms become
>> invalid as shown below.
>>
>> respapply <- function(fm, f) {
>>
>> fm[[2]] <- f(eval(fm[[2]]))
>> fm;
>>
>> }
>>
>> > fm <- formula(y ~ a + b)
>> > y <- runif(5)
>> > newfm <- respapply(fm,identity)
>> > newfm
>>
>> c(0.552921097259969, 0.939932722365484, 0.62522904924117,
>> 0.899310540175065,
>> 0.877736972644925) ~ a + b
>>
>> > terms(newfm)
>> Error in terms.formula(fmapply(fm, identity)) :
>> invalid term in model formula
>>
>> Could someone put me in the right direction of how to correctly write
>> a respapply function as described.
>>
>> Regards,
>>
>> Paul Emberson
>>
>> ______________________________________________
>> 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.
>
> ______________________________________________
> 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