On Fri, 2005-12-30 at 15:47 +0100, Xiyan Lon wrote: > Dear all, > I want to summary and count my data something like > > te.Ce > [,1] [,2] > [1,] -1 0.05 > [2,] 1 0.05 > [3,] 1 0.00 > [4,] 0 0.05 > [5,] -1 0.00 > [6,] 0 0.10 > [7,] 1 0.10 > [8,] -1 0.00 > [9,] -1 0.10 > [10,] 0 0.05 > [11,] 0 0.10 > [12,] -1 0.10 > [13,] 1 0.00 > [14,] -1 0.05 > [15,] 1 0.00 > > How could I count (summary) all my data which I need the result like > > for 0.05 > -1 0 1 > 2 2 1 > > for 0.00 > -1 0 1 > 2 0 3 > > for 0.10 > -1 0 1 > 2 2 1 > > I have tried with summary but I did not find what I need. > Maybe someone could help me. > Happy new year. > Xiyan Lon
There are several options, depending upon the output format you require. The easiest is probably to use table() to generate a crosstabs of the two columns: > table(te.Ce[, 2], te.Ce[, 1]) -1 0 1 0 2 0 3 0.05 2 2 1 0.1 2 2 1 Then, there are by() and tapply(), each of which subsets the matrix by the value in the second column, resulting in the following: > by(te.Ce[, 1], te.Ce[, 2], table) INDICES: 0 -1 1 2 3 ------------------------------------------------------ INDICES: 0.05 -1 0 1 2 2 1 ------------------------------------------------------ INDICES: 0.1 -1 0 1 2 2 1 > tapply(te.Ce[, 1], te.Ce[, 2], table) $"0" -1 1 2 3 $"0.05" -1 0 1 2 2 1 $"0.1" -1 0 1 2 2 1 See ?table, ?by and ?tapply for more information. HTH, Marc Schwartz ______________________________________________ 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