[R] problem with get() inside of lme()
chuck.01
CharlieTheBrown77 at gmail.com
Sat May 12 23:27:51 CEST 2012
Here is an example:
library(nlme)
library(lme4)
library(MASS)
data(petrol)
# a variable for one of the columns in petrol
Y.VAR <- "Y"
# This works:
lmer(get(Y.VAR)~EP +(1|No), data=petrol)
# This doesn't:
lme(get(Y.VAR)~EP, random= ~1|No, data=petrol)
# but this does:
lme(Y~EP, random= ~1|No, data=petrol)
I'd really like to use the variable... again, this is inside a function.
Any idea how to solve this.
Thanks for your time and expertise,
Chuck
chuck.01 wrote
>
> please note that I edited the original message to say:
>
>> length(with(new3, perm.score))==length(with(new3, get(TRAIT1)))
> [1] TRUE
>
>
>
>
>
> chuck.01 wrote
>>
>> Hi,
>> The following lines of code are inside of a function, where "TRAIT1" is
>> a function variable calling a column-name inside of the data.frame
>> "new3".
>>
>> This works just fine:
>>
>> m2 <- lmer(get(TRAIT1) ~ perm.score + (1|site), data=new3)
>>
>> but this will not work:
>>
>> m3 <- lme(get(TRAIT1) ~ perm.score , random= ~1|site, data=new3)
>>
>> I get the following error:
>>
>> Error in model.frame.default(formula = ~TRAIT1 + perm.score + site, data
>> = list( :
>> variable lengths differ (found for 'perm.score')
>>
>> it seems to be putting TRAIT1 on the left side of the equation, and if I
>> am wrong about that, the different lengths from the error is still not
>> true:
>>
>>> length(with(new3, perm.score))==length(with(new3, get(TRAIT1)))
>> [1] TRUE
>>
>> Any ideas on either what is going on, or how I can fix this?
>>
>> ** I'm not including example data, or function because I am hoping it is
>> not needed **
>> Please let me know if I am wrong.
>>
>
--
View this message in context: http://r.789695.n4.nabble.com/problem-with-get-inside-of-lme-tp4629360p4629588.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list