[R] How to subset() from data frame using specific rows

Sarah Goslee sarah.goslee at gmail.com
Tue Oct 4 21:03:27 CEST 2011


Hi Rich,

On Tue, Oct 4, 2011 at 2:58 PM, Rich Shepard <rshepard at appl-ecosys.com> wrote:
> On Tue, 4 Oct 2011, Sarah Goslee wrote:
>
>> You can use something like this:
>>
>>> testdata <- c("A1", "A2", "A3", "B1", "B2", "B3")
>>> grep("^A", testdata)
>>
>> [1] 1 2 3
>>>
>>> grepl("^A", testdata)
>>
>> [1]  TRUE  TRUE  TRUE FALSE FALSE FALSE
>
> Sarah,
>
>  I don't see how this gives me a data frame containing only those sites I
> specify. I want to plot by sites-within-streams specifying which param
> factor to use.


You asked for pointers, and didn't provide a reproducible example, so
I offered a
pointer.

If you have a logical vector that specifies whether to include or omit
a row, you
can use that to subset your data frame.

sitesToUse <- grepl("firstsite", mydata$mysitenames)
dataframeForThatSite <- mydata[sitesToUse, ]

If you want real worked results, you'll need to provide a reproducible example
of your own.

Sarah
-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list