[R] incorrect number of levels
William Dunlap
wdunlap at tibco.com
Fri Oct 8 23:06:53 CEST 2010
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Chagaris, Dave
> Sent: Friday, October 08, 2010 12:04 PM
> To: r-help at r-project.org
> Subject: [R] incorrect number of levels
>
> I have a data set 382 rows and 63 columns. One of the
> columns is bay, and there are 6 bays. But, the number of
> levels for this factor is 7 when it should be six because
> there is some 'blank' level "". When I subset for the blank
> level "", I get 0 rows. What in my data could be causing
> this? Thanks.
There are lots of ways to make such a dataaet. It could be
caused by read.table(sep=",",file) where file contains two
adjacent commas and you later removed the offending row
> d <- read.table(sep=",",
textConnection("101,,201\n102,two,202\n103,three,203\n"))
> d <- d[-1,]
> levels(d$V2)
[1] "" "three" "two"
and you later removed the offending row.
You can get rid of the unused levels by passing it through
factor()
> levels(factor(d$V2))
[1] "three" "two"
and you may as well use the opportunity to give it levels
in the order you want
> str(factor(d$V2, levels=c("two","three")))
Factor w/ 2 levels "two","three": 1 2
> d$V2 <- factor(d$V2, levels=c("two","three"))
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> > dim(datmtx)
> [1] 382 63
>
>
> > datmtx$bay
> [1] TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB
> TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB
> TB TB TB TB TB TB TB TB TB TB TB TB
> [51] TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB
> TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB
> TB TB TB TB TB TB TB TB TB TB TB TB
> [101] TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB
> TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB TB
> TB TB TB TB TB TB TB HI TB HI TB TB
> [151] TB TB TB TB TB HI TB HI HI HI TB HI HI HI TB HI HI HI
> HI HI HI HI HI TB TB TB TB CH CH TB CH CH CH CH CH CH CH CH
> CH CH TB TB CH CH CH CH CH CH CH CH
> [201] CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH
> CH CH TB HI HI HI TB HI HI TB TB TB TB TB TB TB TB TB TB HI
> TB TB TB TB TB TB TB TB TB TB TB TB
> [251] TB HI HI HI CH CH CH CH CH CH CH CH CH CH HI HI CH CH
> CH CH CH CH CH CH CH CH CH CH TB TB TB TB TB TB TB TB TB TB
> CH CH AP AP AP AP AP AP HI HI HI CH
> [301] CH CH CH AP AP TB TB AP AP AP AP AP AP SA BB BB TB TB
> TB TB AP HI AP SA AP HI AP AP HI HI TB HI AP SA AP AP AP AP
> AP AP AP AP SA AP AP SA AP AP AP SA
> [351] SA SA AP AP AP CH CH CH CH CH AP BB BB BB BB BB TB CH
> CH CH CH CH CH CH CH CH CH CH CH CH CH CH
> Levels: AP BB CH HI SA TB
>
> > levels(datmtx$bay)
> [1] "" "AP" "BB" "CH" "HI" "SA" "TB"
>
> > nlevels(datmtx$bay)
> [1] 7
>
> David Chagaris
> Associate Research Scientist
> Florida Fish and Wildlife Conservation Commission
> Florida Fish and Wildlife Research Institute
> 100 8th Ave SE
> St. Petersburg, FL 33701
> (727) 896-8626 ext. 4305
> (727) 893-1374 fax
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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