[R] Control the variable order after multiple declarations using within
Sebastien Bihorel
@eb@@t|en@b|hore| @end|ng |rom cogn|gencorp@com
Wed Jul 3 14:23:22 CEST 2019
Hi Eric,
I was hoping to avoid post-processing the result of the within call.
Sebastien
From: "Eric Berger" <ericjberger using gmail.com>
To: "Sebastien Bihorel" <sebastien.bihorel using cognigencorp.com>
Cc: "R mailing list" <r-help using r-project.org>
Sent: Wednesday, July 3, 2019 8:13:22 AM
Subject: Re: [R] Control the variable order after multiple declarations using within
Hi Sebastien,
Your 'within' command returns a dataframe. So without changing the call to within you have some options such as:
df2 <- within(df, {b<-a*2; c<-b*3})
df2[c("a","b","c")]
OR
within(df, {b<-a*2; c<-b*3})[c("a","b","c")]
OR
within(df, {b<-a*2; c<-b*3})[c(1,3,2)]
HTH,
Eric
On Wed, Jul 3, 2019 at 10:14 AM Sebastien Bihorel < [ mailto:sebastien.bihorel using cognigencorp.com | sebastien.bihorel using cognigencorp.com ] > wrote:
Hi,
The within function can be used to modify data.frames (among other objects). One can even provide multiple expressions to modify the data.frame by more than one expression. However, when new variables are created, they seem to be inserted in the data.frame in the opposite order they were declared:
> df <- data.frame(a=1)
> within(df, {b<-a*2; c<-b*3})
a c b
1 1 6 2
Is there a way to insert the variables in an order consistent with the order of declaration (ie, a, b, c)?
Thanks
Sebastien
______________________________________________
[ mailto:R-help using r-project.org | R-help using r-project.org ] mailing list -- To UNSUBSCRIBE and more, see
[ https://stat.ethz.ch/mailman/listinfo/r-help | https://stat.ethz.ch/mailman/listinfo/r-help ]
PLEASE do read the posting guide [ http://www.r-project.org/posting-guide.html | http://www.R-project.org/posting-guide.html ]
and provide commented, minimal, self-contained, reproducible code.
[[alternative HTML version deleted]]
More information about the R-help
mailing list