Hello,
If time is one of the problems, precompute an ordered index, and use it
every time you want the df sorted. But that would mean you can't do it
in a single operation.
iord <- order(x$a)
subset(x[iord, ], b == 3)
Rui Barradas
Em 05-07-2013 20:47, Noah Silverman escreveu:
That would work, but is painfully slow. It forces a new sort of the data with
every query. I have 200,000 rows and need almost a hundred queries.
Thanks,
-N
On Jul 5, 2013, at 12:43 PM, Rui Barradas <ruipbarra...@sapo.pt> wrote:
Hello,
Maybe like this?
subset(x[order(x$a), ], b == 3)
Hope this helps,
Rui Barradas
Em 05-07-2013 20:33, Noah Silverman escreveu:
Hello,
I have a data frame with several columns.
I'd like to select some subset *and* order by another field at the same time.
Example:
a b c
1 2 3
3 3 4
2 4 5
1 3 4
etc…
I want to select all rows where b=3 and then order by a.
To subset is easy: x[x$b==3,]
To order is easy: x[order(x$a),]
Is there a way to do both in a single efficient statement?
Thanks,
--
Noah Silverman, M.S., C.Phil
UCLA Department of Statistics
8117 Math Sciences Building
Los Angeles, CA 90095
[[alternative HTML version deleted]]
______________________________________________
R-help@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@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.