On 17-Sep-10 12:19:10, Alaios wrote: > Hello everyone, > please consider the following lines of a matrix > > [574,] 59 32 > [575,] 59 32 > [576,] 59 32 > [577,] 59 32 > [578,] 59 32 > [579,] 59 32 > [580,] 59 32 > [581,] 60 32 > [582,] 60 33 > [583,] 60 33 > [584,] 60 33 > [585,] 60 33 > [586,] 60 33 > [587,] 60 33 > [588,] 60 33 > [589,] 60 33 > [590,] 60 33 > [591,] 61 33 > [592,] 61 33 > [593,] 61 33 > [594,] 61 33 > [595,] 61 33 > [596,] 61 33 > [597,] 61 33 > [598,] 61 33 > [599,] 61 33 > [600,] 61 33 > [601,] 62 34 > > Is it possible somehow to count the similarities between the first and > second > column and put them on a third column like this? > > 59 32 3 > 60 33 5 > 62 34 1 > > where (3,5,1 are the frequencies for (59,32), (60,33) and (62,34) > > Best Regards > Alex
Does the following do what you want? a <- c(59,59,59,59,59,59,59,60,60,60,60,60,60,60, 60,60,60,61,61,61,61,61,61,61,61,61,61,62) b <- c(32,32,32,32,32,32,32,32,33,33,33,33,33,33, 33,33,33,33,33,33,33,33,33,33,33,33,33,34) table(data.frame(a=a,b=b)) # b # a 32 33 34 # 59 7 0 0 # 60 1 9 0 # 61 0 10 0 # 62 0 0 1 T <- t(as.matrix(table(data.frame(a=a,b=b)))) L <- c(table(data.frame(a=a,b=b))) B <- as.integer(rep(rownames(T),each=ncol(T))) A <- as.integer(rep(colnames(T),nrow(T))) cbind(A,B,L)[L>0,] # A B L # [1,] 59 32 7 # [2,] 60 32 1 # [3,] 60 33 9 # [4,] 61 33 10 # [5,] 62 34 1 Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 17-Sep-10 Time: 14:15:03 ------------------------------ XFMail ------------------------------ ______________________________________________ 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.