OK thanks for the tips. I have abandonned the use of cbidn in dataframe. I've 
used the obth dcast() and melt() and they both work fine. Thanks again

 
David Biau


>________________________________
> De : David Winsemius <dwinsem...@comcast.net>
>À : arun <smartpink...@yahoo.com> 
>Cc : R help <r-help@r-project.org>; Biau David <djmb...@yahoo.fr> 
>Envoyé le : Vendredi 11 janvier 2013 18h54
>Objet : Re: [R] count combined occurrences of categories
> 
>
>On Jan 11, 2013, at 9:47 AM, arun wrote:
>
>> HI David,
>> 
>> I get different results with dcast()
>> 
>> library(reshape2)
>>   dcast(melt(tutu,"nam"),nam~value,length)
>> #  nam art deb joy mar seb lio nem tat
>> #1  da   2   3   1   4   1   1   0   0
>> #2  fr   2   2   2   3   0   1   1   1
>> #3  ya   1   2   1   0   0   1   1   0
>> 
>>  tutus <- data.frame(nam=tutu$nam, au=with(tutu, c(au1,au2,au3)))
>>  with(tutus,table(nam,au))
>> #    au
>> #nam  1 2 3 4 5 6 7
>>  # da 2 3 1 2 4 0 0   #some numbers don't match the previous result
>>   #fr 2 2 2 2 2 1 1
>>   #ya 1 2 1 1 0 1 0
>> #If I convert to as.character(), it matched with the dcast() results
>
>Probably due to the fact I used c() on factors:
>
>tutu <- data.frame(nam, au1, au2, au3, stringsAsFactors=FALSE)
>> tutus <- data.frame(nam=tutu$nam, au=with(tutu, c(au1,au2,au3)))
>> tutab <- with(tutus, table(nam, au)  )
>> tutab
>    au
>nam  art deb joy lio mar nem seb tat
>  da   2   3   1   1   4   0   1   0
>  fr   2   2   2   1   3   1   0   1
>  ya   1   2   1   1   0   1   0   0
>
>-- David.
>> 
>> tutunew<-data.frame(nam=tutu$nam,au=with(tutu,c(as.character(au1),as.character(au2),as.character(au3))))
>> with(tutunew,table(nam,au))
>> #    au
>> #nam  art deb joy lio mar nem seb tat
>>  # da   2   3   1   1   4   0   1   0
>>   #fr   2   2   2   1   3   1   0   1
>>   #ya   1   2   1   1   0   1   0   0
>> A.K.
>> 
>> 
>> 
>> 
>> 
>> ----- Original Message -----
>> From: David Winsemius <dwinsem...@comcast.net>
>> To: Biau David <djmb...@yahoo.fr>
>> Cc: r help list <r-help@r-project.org>
>> Sent: Friday, January 11, 2013 12:20 PM
>> Subject: Re: [R] count combined occurrences of categories
>> 
>> 
>> On Jan 11, 2013, at 2:54 AM, Biau David wrote:
>> 
>>> Dear all,
>>> 
>>> i would like to count the number of times where I have combined occurrences 
>>> of the categories of 2 variables.
>>> 
>>> For instance, in the dataframe below, i would like to know how many times 
>>> each author (au1, au2, au3 represent the first, second, third author) is 
>>> associated with each of the category of the variable 'nam'. The position of 
>>> the author does not matter.
>>> 
>>> nam <- c('da', 'ya', 'da', 'da', 'fr', 'fr', 'fr', 'da', 'ya', 'fr')
>>> au1 <- c('deb', 'art', 'deb', 'seb', 'deb', 'deb', 'mar', 'mar', 'joy', 
>>> 'joy')
>>> au2 <- c('art', 'deb', 'mar', 'deb', 'joy', 'mar', 'art', 'lio', 'nem', 
>>> 'mar')
>>> au3 <- c('mar', 'lio', 'joy', 'mar', 'art', 'lio', 'nem', 'art', 'deb', 
>>> 'tat')
>>> tutu <- data.frame(cbind(nam, au1, au2, au3))
>> 
>> You should first abandon the practice of using `cbind` inside `data.frame`. 
>> Obscure errors will plague your R experience until you do so.
>> 
>> Bas solution:
>> 
>>> tutus <- data.frame(nam=tutu$nam, au=with(tutu, c(au1,au2,au3)))
>>> tutab <- with(tutus, table(nam, au)  )
>>> tutab
>>     au
>> nam  1 2 3 4 5 6 7
>>   da 2 3 1 2 4 0 0
>>   fr 2 2 2 2 2 1 1
>>   ya 1 2 1 1 0 1 0
>> 
>> --
>> David Winsemius, MD
>> Alameda, CA, USA
>> 
>> ______________________________________________
>> 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.
>> 
>
>David Winsemius, MD
>Alameda, CA, USA
>
>
>
>
        [[alternative HTML version deleted]]

______________________________________________
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.

Reply via email to