Jorge, thanks for your suggestions, but they give the same (empty) result:
> RECinf<-subset(REC2, INFECTION=="Infected")
> head(RECinf)
[1] RINGNO year ccFLEDGE rec2012 binage INFECTION all.rsLD
<0 rows> (or 0-length row.names)
but David's suggestion worked! :
> RECinf<-REC2[REC2$INFECTION=="Infected ",]
> head(RECinf)
RINGNO year ccFLEDGE rec2012 binage INFECTION all.rsLD
2 BX23298 Y2003 6 1 juv Infected -6.1938776
4 BT53646 Y2003 5 2 ad Infected -4.1938776
7 BT53248 Y2003 6 1 ad Infected -2.1938776
11 BY75833 Y2004 5 0 ad Infected -4.6574803
13 BX23067 Y2004 6 0 ad Infected -3.6574803
17 BX24240 Y2004 6 0 ad Infected 0.3425197
still not sure why the subset() function didn't work, though.
Thanks for your help!
Katarzyna Kulma
PhD Student
Department of Ecology and Genetics
Institute of Ecology and Evolution/Animal Ecology
Uppsala University
Norbyvägen 18D
SE-752 36 Uppsala, Sweden
email: [email protected]
Tel.+46 (0)18 471 2672
Fax.+46 18 471 6484
On 3 May 2013 13:13, David Kulp <[email protected]> wrote:
> You have an extra space in the INFECTION factors.
>
> Use REC2[REC2$INFECTION=="Infected ",]
> or
> subset(REC2, INFECTION=="Infected ")
>
> No need to use which here.
>
> On May 3, 2013, at 5:48 AM, Katarzyna Kulma wrote:
>
> > Hi everyone,
> >
> > I know there have been several requests regarding subsetting before, but
> > none of them really helps with my problem:
> >
> > I'm trying to subset only infected individuals from the REC2 data.frame:
> >
> >> str(REC2)
> > 'data.frame': 362 obs. of 7 variables:
> > $ RINGNO : Factor w/ 370 levels "BL17546","BL17577",..: 78 81 67 41 58
> > 66 17
> > $ year : Factor w/ 8 levels "Y2002","Y2003",..: 1 2 1 2 1 1 2 1 1 3
> ...
> > $ ccFLEDGE : int 6 6 6 5 6 7 6 7 6 5 ...
> > $ rec2012 : int 2 1 2 2 1 2 1 1 1 0 ...
> > $ binage : Factor w/ 2 levels "ad","juv": 1 2 1 1 1 1 1 1 1 1 ...
> > $ INFECTION: Factor w/ 2 levels "Infected ","Uninfected ": 2 1 2 1 2 2 1
> 2
> > 2 1 ...
> > $ all.rsLD : num -4.62 -6.19 -3.62 -4.19 -2.62 ...
> >
> > using either
> >
> > RECinf<-REC2[which (REC2$INFECTION=="Infected"),]
> >
> > or
> >
> > RECinf<-subset(REC2, INFECTION=="Infected")
> >
> > in both cases I get empty data frame (0 observations):
> >
> >> str(RECinf)
> > 'data.frame': 0 obs. of 7 variables:
> > $ RINGNO : Factor w/ 370 levels "BL17546","BL17577",..:
> > $ year : Factor w/ 8 levels "Y2002","Y2003",..:
> > $ ccFLEDGE : int
> > $ rec2012 : int
> > $ binage : Factor w/ 2 levels "ad","juv":
> > $ INFECTION: Factor w/ 2 levels "Infected ","Uninfected ":
> > $ all.rsLD : num
> >
> > When subsetting, R doesn't return any warning or error message. Besides,
> I
> > used same codes many times before and they worked perfectly well. Any
> ideas
> > why this case is different?
> >
> > Thanks for your help,
> > Kasia
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > [email protected] 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.
>
>
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.