[R] sorting & subsetting a data.frame

David Winsemius dwinsemius at comcast.net
Mon Mar 7 01:34:26 CET 2011


On Mar 6, 2011, at 6:05 PM, Liviu Andronic wrote:

> On Sun, Mar 6, 2011 at 11:53 PM, Liviu Andronic <landronimirc at gmail.com 
> > wrote:
>> On Sun, Mar 6, 2011 at 11:49 PM, Liviu Andronic <landronimirc at gmail.com 
>> > wrote:
>>> Dear all
>>> This may be obvious, but I cannot get it working. I'm trying to  
>>> subset
>>> & sort a data frame in one go.
>>> x <- iris
>>> x$Species1 <- as.character(x$Species)
>>> ##subsetting alone works fine
>>> with(x, x[Sepal.Length==6.7,])
>>> ##sorting alone works fine
>>> with(x, x[order(Sepal.Length, rev(sort(Species1))),])
>>> ##gets subsetted, but not sorted as expected
>>> with(x, x[(Sepal.Length==6.7) & order(Sepal.Length,  
>>> rev(sort(Species1))),])
>>> ##gets subsetted, but sorts very strangely
>>> xa <- with(x, x[Sepal.Length==6.7,]); with(xa,  
>>> xa[order(Sepal.Length,
>>> rev(sort(Species1))),])
>>> xa <- with(x, x[Sepal.Length==6.7,]); with(xa,  
>>> xa[order(rev(sort(Species1))),])
>>>
>> And of course I found the culprit after sending the e-mail: wrong  
>> call
>> order. The following does what I want, although it's a bit messy:
>> xa <- with(x, x[Sepal.Length==6.7,]); with(xa,  
>> xa[rev(order(sort(Species1))),])
>> xa <- subset(x, Sepal.Length==6.7); with(xa,  
>> xa[rev(order((sort(Species1)))),])
>>
> But it still doesn't work on my data! Any ideas for a different  
> approach?

subset(x[order(x$Species1), ],  Sepal.Length==6.7 )

Slight modification of the order/sort first subset second strategy:

xa <-  x[order(x$Species1), ][x$Sepal.Length==6.7, ]

> Liviu
>
>
>> Regards
>> Liviu
>>
>>
>>> I've checked The R Inferno, Quick-R and several other places with no
>>> obvious solution.
>>>
>>> Any ideas? Regards
>>> Liviu
>>>
>>>
>>> --
>>> Do you know how to read?
>>> http://www.alienetworks.com/srtest.cfm
>>> http://goodies.xfce.org/projects/applications/xfce4-dict#speed- 
>>> reader
>>> Do you know how to write?
>>> http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail
>>>
>>
>>
>>
>> --
>> Do you know how to read?
>> http://www.alienetworks.com/srtest.cfm
>> http://goodies.xfce.org/projects/applications/xfce4-dict#speed-reader
>> Do you know how to write?
>> http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail
>>
>
>
>
> -- 
> Do you know how to read?
> http://www.alienetworks.com/srtest.cfm
> http://goodies.xfce.org/projects/applications/xfce4-dict#speed-reader
> Do you know how to write?
> http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail
>
> ______________________________________________
> R-help at 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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT



More information about the R-help mailing list