[R] Control the variable order after multiple declarations using within

Eric Berger er|cjberger @end|ng |rom gm@||@com
Wed Jul 3 14:13:22 CEST 2019


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 <
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
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list