Wolfgang, This looks great and certainly puts to shame my code ..... Thanks, Monica > Date: Fri, 7 Sep 2007 21:04:32 +0100> From: [EMAIL PROTECTED]> To: [EMAIL > PROTECTED]> CC: r-help@stat.math.ethz.ch> Subject: Re: [R] confusion matrix - > better code?> > Dear Monica,> > try this:> > cm = table(tr, pr)> cm> pr> tr 1 > 2 3> 1 2 1 0> 2 2 1 0> 3 0 0 3> 4 0 1 0> > > rowSums(cm)> colSums(cm)> > Best > wishes> Wolfgang Huber> > Monica Pisica ha scritto:> > Hi,> > > > I�ve > written some code to obtain a confusion matrix when the true classification > and the predicted classification are known. Suppose true classification is > called �tr� and predicted classification is �pr�. I have 4 classes in > tr, but only 3 classes out of 4 are predicted in �pr�. Following is my > code, but looks quite �clunky� to me. I wonder if you have any > suggestions to improve it.> > > > Thanks,> > > > Monica> > > > > -----------------------------> > > > tr <- c(1,2,2,3,3,3,2,4,1,1)> > > pr<-c(1,2,1,3,3,3,1,2,1,2)> > dat <- data.frame(tr, pr)> > class <- > c(1:length(tr))> > m <- max(c(length(unique(tr)), length(unique(pr))))> > > for(i in 1:length(class)) {> > class[i] <- sub(' > ','',paste(dat[i,1],dat[i,2])) }> > dat <- data.frame(dat, class)> > mat <- > matrix(0, nrow=m, ncol=m)> > for (i in 1:m){> > for (j in 1:m){> > mat[i,j] > <- sub(' ','',paste(i,j))> > }}> > cat <- matrix(0, nrow=(m+1), ncol=(m+1))> > > for (i in 1:m){> > for(j in 1:m){> > cat[i,j]<- > nrow(dat[dat$class==mat[i,j],])> > }}> > for (i in 1:m){> > > cat[(m+1),i]<-sum(cat[1:m,i])> > cat[i,(m+1)]<- sum(cat[i,1:m])> > > cat[(m+1),(m+1)] <- sum(cat[1:m,(m+1)])> > }> > cat> > [,1] [,2] [,3] [,4] > [,5]> > [1,] 2 1 0 0 3> > [2,] 2 1 0 0 3> > [3,] 0 0 3 0 3> > [4,] 0 1 0 0 1> > > [5,] 4 3 3 0 10> > > > The 5th row / col represents the sum on each row / > col respectively. _________________________________________________________________ Gear up for Halo® 3 with free downloads and an exclusive offer. Itâs our way of saying thanks for using Windows Liveâ¢. http://gethalo3gear.com?ocid=SeptemberWLHalo3_WLHMTxt_2 [[alternative HTML version deleted]]
______________________________________________ R-help@stat.math.ethz.ch 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.