[This article was first published on Mark van der Loo, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
I came accross this post on SO, where several solutions to sorting data.frames are presented. It must have been solved a million times, but here’s a solution I like to use. It benefits from the fact that sort
is an S3 generic.
sort.data.frame <- function(x, decreasing=FALSE, by=1, ... ){ f <- function(...) order(...,decreasing=decreasing) i <- do.call(f,x[by]) x[i,,drop=FALSE] }
It sorts on the first column by default, but you may use any vector of valid column indices. Here are some examples.
sort(iris, by="Sepal.Length") sort(iris, by=c("Species","Sepal.Length")) sort(iris, by=1:2) sort(iris, by="Sepal.Length",decreasing=TRUE)
To leave a comment for the author, please follow the link and comment on their blog: Mark van der Loo.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.