[R] Issue with formula conversion

2014-08-27 Thread Gang Chen
A random effect formulation for R package nlme is read in as a string of characters from an input file: ranEff - pdCompSymm(~1+Age) I need to convert 'ranEff' to a formula class. However, as shown below: as.formula(ranEff) ~1 + Age the pdCompSymm is lost in the conversion. Any solutions?

Re: [R] Issue with formula conversion

2014-08-27 Thread David Winsemius
On Aug 27, 2014, at 11:19 AM, Gang Chen wrote: A random effect formulation for R package nlme is read in as a string of characters from an input file: ranEff - pdCompSymm(~1+Age) I need to convert 'ranEff' to a formula class. However, as shown below: as.formula(ranEff) ~1 + Age

Re: [R] Issue with formula conversion

2014-08-27 Thread Gang Chen
Thanks for the help! However, I just need to get pdCompSymm(~1 + Age) without a tilde (~) at the beginning. On Wed, Aug 27, 2014 at 3:34 PM, David Winsemius dwinsem...@comcast.net wrote: On Aug 27, 2014, at 11:19 AM, Gang Chen wrote: A random effect formulation for R package nlme is read in

Re: [R] Issue with formula conversion

2014-08-27 Thread David Winsemius
On Aug 27, 2014, at 12:44 PM, Gang Chen wrote: Thanks for the help! However, I just need to get pdCompSymm(~1 + Age) That's not a formula in the R sense of the word. You should do a better job of posting a use case. Perhaps you want an expression? -- David. without a tilde (~) at the

Re: [R] Issue with formula conversion

2014-08-27 Thread Gang Chen
Good point! Here is an example: library(nlme) fm - lme(yield ~ nitro, data=Oats, random=list(Block=pdComSymm(~Variety-1))) Now the problem I'm facing is that the following part pdComSymm(~Variety-1) is read in as a string of characters from an external source: ranEff -

Re: [R] Issue with formula conversion

2014-08-27 Thread David Winsemius
On Aug 27, 2014, at 1:11 PM, Gang Chen wrote: Good point! Here is an example: library(nlme) fm - lme(yield ~ nitro, data=Oats, random=list(Block=pdComSymm(~Variety-1))) One problem is that youa re misspelling the function name. Now the problem I'm facing is that the following part

Re: [R] Issue with formula conversion

2014-08-27 Thread Gang Chen
Sorry for the misspelling! And more importantly, thanks a lot for the nice solution and for the quick help! On Wed, Aug 27, 2014 at 4:22 PM, David Winsemius dwinsem...@comcast.net wrote: On Aug 27, 2014, at 1:11 PM, Gang Chen wrote: Good point! Here is an example: library(nlme) fm -

Re: [R] Issue with formula conversion

2014-08-27 Thread Richard M. Heiberger
do you have control over the external source? if so, then something like BlockFunction - pdComSymm ranEff1 - ~Variety -1 fm - lme(yield ~ nitro, data=Oats, random=list(Block=get(BlockFunction)(ranEff1))) The above is untested. An example if get() is get(sum)(1:4) [1] 10 The main problem

Re: [R] Issue with formula conversion

2014-08-27 Thread David Winsemius
On Aug 27, 2014, at 1:33 PM, Richard M. Heiberger wrote: do you have control over the external source? if so, then something like BlockFunction - pdComSymm ranEff1 - ~Variety -1 I doubt that would work, since it is not a formula object. fm - lme(yield ~ nitro, data=Oats,

Re: [R] Issue with formula conversion

2014-08-27 Thread Richard M. Heiberger
David, you caught my typo of excess quotation marks. this should work ranEff1 - ~Variety -1 random=list(Block=get(BlockFunction)(ranEff1))) On Wed, Aug 27, 2014 at 4:41 PM, David Winsemius dwinsem...@comcast.net wrote: On Aug 27, 2014, at 1:33 PM, Richard M. Heiberger wrote: do you have