[R] how about a "<p-" operator?
William Dunlap
wdunlap at tibco.com
Thu Mar 31 01:50:32 CEST 2011
The %...% operators are not a panacea.
they have the same precedence as `*`
and `/` (I think) so you get things like:
> x %<-% 10 - 8 # %<-% has higher precedence than -
[1] 2
> x # not what you thought it would be
[1] 10
> x %<-% 10 ^3 # but lower than ^
[1] 1000
> x # this is what you expected
[1] 1000
It isn't that hard to write a package with your
own parser in it. Just have it generate the
call tree from your input text and call eval()
on it.
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of John Fox
> Sent: Wednesday, March 30, 2011 4:34 PM
> To: 'Carl Witthoft'
> Cc: r-help at r-project.org
> Subject: Re: [R] how about a "<p-" operator?
>
> Dear Carl,
>
> I think that the following does what you want:
>
> > `%<-%` <- function(e1, e2){
> + e1 <- deparse(substitute(e1))
> + env <- parent.frame()
> + assign(e1, e2, envir=env)
> + e2
> + }
>
> > x %<-% 10
> [1] 10
>
> > x
> [1] 10
>
> But, as has been pointed out, it's probably easier just to
> parenthesize the
> usual assignment command.
>
> Regards,
> John
>
> --------------------------------
> John Fox
> Senator William McMaster
> Professor of Social Statistics
> Department of Sociology
> McMaster University
> Hamilton, Ontario, Canada
> http://socserv.mcmaster.ca/jfox
>
>
>
>
> > -----Original Message-----
> > From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org]
> > On Behalf Of Carl Witthoft
> > Sent: March-30-11 7:00 PM
> > To: r-help at r-project.org
> > Subject: [R] how about a "<p-" operator?
> >
> > I was cursing Matlab again today (what else is new) because
> the default
> > action for every Matlab command is to spew the result to
> the console, and
> > one must remember to put that darn ";" at the end of every line.
> >
> > So I just wondered: was there ever a discussion as to
> providing some
> > modified version of the "<-" and "->" operators in R to do
> the reverse?
> > That is, since R does not print the values of a command
> to the console,
> > what if there were an operator such that
> >
> >
> > newobject <p- somefunction()
> >
> > would do the same as
> >
> > print(newobject <- somefunction())
> >
> >
> > Any thoughts?
> > Carl
> >
> > ______________________________________________
> > 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