[R] extract data for specific levels factor

Andrés Aragón armandres at gmail.com
Wed Oct 26 21:04:35 CEST 2011


Dear all,
Thanks for your help.
Option of Sarah and Dan is just what I want:

ff1<-mydata[mydata$cat%in%c(“wish1”, “wish2”, “wish3”),]

Then I used ff1 in ggplot2 without problems.

Option of Dennis (reshape2) does produced an output “no coherent”:
content in he object contained data of categorical variable but not
data of “ind”.

Option of Dennis (ggplot2) does functioned well, but when I put more
than one clasification in categ the following output is obtained:

> ggplot(subset(mydata, categ=='folic tot', 'porc fol marc'), aes(age,ind))+geom_point()
Error in `[.data.frame`(x, r, vars, drop = drop) :
  undefined columns selected


I tryed the same but added ddply:
qq<-ddply(mydata, .(ind), subset, categ=("porc fol tot", "porc fol marc"))
Error: unexpected ',' in "qq<-ddply(mydata, .(ind), subset,
categ=("porc fol tot","

Any idea about the last?

Andrés AM

2011/10/25, Dennis Murphy <djmuser at gmail.com>:
> Are you trying to separate the substrings in cat? If so, one way is to
> use the colsplit() function in the reshape2 package, something like
> (untested since you did not provide a suitable data format with which
> to work):
>
> library('reshape2')
> splitcat <- colsplit(mydata$cat, ' ', names = c('fat', 'bat', 'rat'))
> moredat <- cbind(mydata, splitcat)
>
> Other options that might pertain to your request include:
>
> (i) subset(mydata, cat == 'por fol pec')
> which you can use as a data argument inside ggplot2 - e.g.,
>
> ggplot(subset(mydata, cat == 'por fol pec'), aes(x = age, y = ind)) +
>    geom_point()
>
> (ii) use faceting to get individual plots by factor level of cat - e.g.,
> ggplot(mydata, aes(x = age, y = ind)) +
>    geom_point() +
>    facet_grid( ~ cat)
>
> Hope that one of these is close to the bullseye...
> Dennis
>
>
> 2011/10/25 Andrés Aragón <armandres at gmail.com>:
>> Dear all,
>>
>> I'm trying to analyze data with the following structure:
>>
>> ind          cat            tx      age
>> 40.2 por fol peq     vh        35
>> 41.9 por fol med     vh        35
>> 68.9 por fol preov   vh       35
>> 71.5 por fol peq      ser       37
>> 67.5  por fol med    ser       37
>> 76.9  por fol preov   ser     37
>> 78.7  por fol peq      otr      37
>> 78.3  por fol med    otr       37
>> 82.1  por fol preov   otr      37
>> 83.9  por fol peq      vh       37
>> 80.6  por fol med      vh      37
>> 76.1  por fol preov     vh     37
>> 86.9  por fol peq        ser     35
>> 97.7  por fol med       ser     35
>> 62.3  por fol preov     ser     35
>>
>>
>>
>> I want to separate exclusively some of factor levels  (“por fol peq”
>> in the “cat” colum). I am using ggplot2  and I only can plot all of
>> factors, not separately. I did try ddply without success.
>> Any help is welcome.
>>
>> Andrés
>>
>> ______________________________________________
>> 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.
>>
>



More information about the R-help mailing list