[Rd] split() - unexpected sorting of results
Iñaki Úcar
i.ucar86 at gmail.com
Fri Oct 20 21:49:58 CEST 2017
Hi Peter,
2017-10-20 21:33 GMT+02:00 Peter Meissner <retep.meissner at gmail.com>:
> Hey,
>
> I found this - for me - quite surprising and puzzling behaviour of split().
>
>
> split(1:11, as.character(1:11))
> split(1:11, 1:11)
>
>
> When splitting by numerics everything works as expected - sorting of input
> == sorting of output -- but when using a character vector everything gets
> re-sorted alphabetical.
>
>
> Although, there are some references in the help files to what happens when
> using split, I did not find any note on this - for me - rather unexpected
> behaviour.
As the documentation states,
f: a ‘factor’ in the sense that ‘as.factor(f)’ defines the
grouping, or a list of such factors in which case their
interaction is used for the grouping.
And, in fact,
> as.factor(1:11)
[1] 1 2 3 4 5 6 7 8 9 10 11
Levels: 1 2 3 4 5 6 7 8 9 10 11
> as.factor(as.character(1:11))
[1] 1 2 3 4 5 6 7 8 9 10 11
Levels: 1 10 11 2 3 4 5 6 7 8 9
Regards,
Iñaki
> I would like it best when the sorting of split results stays the same no
> matter the input (sorting of input == sorting of output)
>
> If that is not possibly a note of caution in the help pages and maybe an
> example might be valuable.
>
>
> Best, Peter
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list