Hi r-help-boun...@r-project.org napsal dne 29.07.2010 16:03:30:
> Dennis, > > Thank you for your response. For clarification, I was not expecting > table() to divinely figure out the intent that I was making two levels > out of one (given my character vectors). Since table() is a generic > function that behaves differently with character and factor vectors, I I am not sure if table behaves differently with character and factor vectors. x<-sample(letters[1:3], 10, replace=T) table(x) # character x a b c 3 6 1 x.f<-as.factor(x) # same factor table(x.f) x.f a b c 3 6 1 # factor with extra levels x.f.extra.levels<-factor(x, levels=letters[1:6]) table(x.f.extra.levels) x.f.extra.levels a b c d e f 3 6 1 0 0 0 So if you do not supply extra levels to factor, result is same as with character vector. Regards Petr > needed a way to convert the data I had to get the desired behavior. > Your factor() statements will accomplish my goal of putting zeros into > contingency tables. > > Regards, > > Na'im > > > Quoting "Dennis Murphy" <djmu...@gmail.com>: > > > Hi, > > > > table() is behaving as documented with respect to your example. local.labels > > is a *character* vector with two distinct values and local.preds is a > > *character* variable with one distinct value. If you were expecting your > > table to divine that you wanted to include 'ah~' as a missing value in your > > local.preds object, it's not going to happen under your current setup. > > > >> local.labels <- c("ah", "ah", "ah~") > >> local.preds <- c("ah", "ah", "ah") > >> table(local.labels, local.preds) > > local.preds > > local.labels ah > > ah 2 > > ah~ 1 > >> class(local.labels) > > [1] "character" > >> class(local.preds) > > [1] "character" > > > > > > Is this what you had in mind? > > > > labels <- factor(local.labels) > > preds <- factor(local.preds, levels = c('ah', 'ah~')) > >> table(labels, preds) > > preds > > labels ah ah~ > > ah 2 0 > > ah~ 1 0 > > > >> labels > > [1] ah ah ah~ > > Levels: ah ah~ > >> preds > > [1] ah ah ah > > Levels: ah ah~ > > > > There is a distinction in R between character objects and factor objects. > > More generally, many [generic] functions behave differently depending on the > > type of object(s) supplied as input. > > > > HTH, > > Dennis > > > > On Wed, Jul 28, 2010 at 10:29 PM, Na'im R. Tyson > > <nty...@clovermail.net>wrote: > > > >> R-philes, > >> > >> I have a question about displaying counts of unused factors using the > >> table() function. I have two vectors with character data in them: > >> > >> local.labels("ah", "ah", "ah~") > >> local.preds("ah", "ah", "ah") > >> > >> If I use the table function as shown below, I get an error because the > >> number of levels do not match up. > >> > >> v.cont.table <- table(local.labels, local.preds, dnn=c("observed", > >> "predicted")); > >> > >> Is there any way to get zero counts into the contingency table, or would I > >> have to use a flat table? Any help with sample code, or a pointer to a > >> previous post, would be much appreciated. > >> > >> Regards, > >> > >> Na'im > >> > >> ______________________________________________ > >> R-help@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. > >> > > > > ______________________________________________ > R-help@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. ______________________________________________ R-help@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.