[Rd] Advice on package design for handling of dots in a formula
Charles Berry
ccberry at ucsd.edu
Wed Oct 15 17:55:53 CEST 2014
Greg Ridgeway <gregridgeway <at> gmail.com> writes:
>
> I am working on a new package, one in which the user needs to specify the
> role that different variables play in the analysis. Where I'm stumped is >
the best way to have users specify those roles.
[delete discussion of dot in formula and specials]
>
> Does anyone have advice on how best to handle this?
> 1. Tell my tester "Tough, you can't use dots in a formula in my
> package".essentially what the survey package seems to do. Encourage the
> use of survey::make.formula()?
> 2. Fix Approach #1 to search for duplicates in the weights, observation
> ID,and strata parameters. Any elegant ways to do that?
> 3. Fix Approach #2, the coxph style, to try to remove redundant
> covariates.
> Not sure if there's a graceful way not involving string matching
> 4. Any existing elegant approaches to interpreting the dot? Or should I
> just do string matching to delete duplicate variables from the terms
> object.
>
See ?terms.formula and note the `allowDotAsName' arg.
> trms <- terms(y~speshul(x)+.,allowDotAsName=TRUE,specials="speshul")
> attr(trms,"term.labels")
[1] "speshul(x)" "."
See ?all.vars
> all.vars(trms)
[1] "y" "x" "."
> setdiff( all.vars(trms) , "." )
[1] "y" "x"
>
HTH,
Chuck
More information about the R-devel
mailing list