Hello everyone. I want to thank you for your response. I tried this on weekend to attack my problem:
1) Turned into factors all my variables to tabulate: infec1<-bamas$P2_A infec2<-bamas$P2_B infec3<-bamas$P2_C aglomera<-bamas$QCL_1 Where bamas is my data frame, P2_A, P2_B and P2_C the infections and QCL_1 the clusters. 2) Defined a table for each one of the variables I wanted: t1<-table(infec1,aglomera) t2<-table(infec2,aglomera) t3<-table(infec3,aglomera) 3) Tables generated above are of n1 x 4, n2 x 4, n3 x 4 where n1, n2 and n3 are different and so the dimmensions of my matrices, then if I want to sum the three tables R showed me the error that they were of different dimmensions, so I decided to make them of the same dimmensions by "filling the holes" (missing rows) with zeros of each row in each table in order to transform them into a matrix of N x 4: For example, comparing my table t1 with t2, I could see that, in table 1 there where missing rows 7, 10, 12 and 13, and in the case of t3 rows 7 and 12 ; t1 aglomera infec1 1 2 3 4 1 117 88 76 83 2 10 10 9 7 3 15 11 14 14 4 2 0 1 1 5 2 3 1 0 6 1 0 1 0 8 3 3 0 1 9 3 1 1 0 11 0 0 1 1 t3 aglomera infec2 1 2 3 4 1 12 9 6 6 2 37 45 33 37 3 11 11 8 11 4 3 0 0 2 5 2 1 0 0 6 0 0 0 1 8 3 1 2 2 9 2 2 0 2 10 1 1 2 1 11 1 0 0 0 13 0 0 1 0 Then I did the following instructions u<-cbind(0,0,0,0) rt1<-rbind(t1[1:6,],u,t1[7:8,],u,t1[9,],u,u) rt2<-rbind(t2[1:6,],u,t2[7:10,],u,u,t2[11,]) rt3<-rbind(t3[1:6,],u,t3[7:10,],u,u) 4) Now all my tables are 13 x 4 so I defined as matrix: mrt1<-matrix(rt1,nrow=13,ncol=4) mrt2<-matrix(rt2,nrow=13,ncol=4) mrt3<-matrix(rt2,nrow=13,ncol=4) 5) And then I added them: total<-mrt1+mrt2+mrt3 total [,1] [,2] [,3] [,4] [1,] 130 97 83 89 [2,] 53 55 42 46 [3,] 33 36 36 39 [4,] 5 1 2 3 [5,] 5 4 1 0 [6,] 1 1 1 3 [7,] 0 0 0 0 [8,] 8 6 4 4 [9,] 6 4 1 2 [10,] 1 2 2 3 [11,] 1 1 1 1 [12,] 0 0 0 0 [13,] 0 0 1 0 which is the result I wanted. I don't know if this is the best way to make this kind of tables, but at least it worked well on weekend late at night :P If someone have a better (faster) way to make them please help me. Warm regards from Mexico. -----Mensaje original----- De: Petr PIKAL [mailto:[EMAIL PROTECTED] Enviado el: Lunes, 03 de Diciembre de 2007 02:30 a.m. Para: [EMAIL PROTECTED] CC: r-help@r-project.org Asunto: Re: [R] Help with tables Hi I am not sure but if I remember correctly I had seen similar output in Frank Harrel's book. So you could check some function from Hmisc package, probably summarize. Regards Petr [EMAIL PROTECTED] [EMAIL PROTECTED] napsal dne 02.12.2007 03:16:09: > I guess you can get the result by > 1) concatenating all the variables (P2_A, P2_B, P2_C) into one variable , > 2) replicating segment membership properly, > 3) make the table of 1) and 2) > > For example, the following may do the job. > > > ## (1) Generate data set > > # Set random seed > > set.seed(0) > > > > n.obs <- 15 # Number of patients > > disease.lv <- 1:10 ## different types of disease > > data1 <- as.data.frame(t(replicate(n.obs, sample(disease.lv, 3)))) # > Create data set > > ## Create segment membership > > segment <- sample(LETTERS[1:3], n.obs, replace=TRUE) > > > > cbind(data1, segment) > V1 V2 V3 segment > 1 9 3 10 B > 2 6 9 2 C > 3 9 10 6 A > 4 7 1 2 B > 5 2 7 4 C > 6 8 5 6 C > 7 10 4 7 B > 8 10 2 6 C > 9 2 3 4 B > 10 1 4 7 A > 11 4 5 9 A > 12 5 2 7 A > 13 7 8 1 A > 14 8 4 7 B > 15 7 8 5 B > > > > > > ## (2) Table > > infec.all <- unlist(data1) # Concatenate all variables into one variable > > segment.all <- rep(segment, ncol(data1)) # Replicate the segment > membership as necessary > > table(infec.all, segment.all) > segment.all > infec.all A B C > 1 2 1 0 > 2 1 2 3 > 3 0 2 0 > 4 2 3 1 > 5 2 1 1 > 6 1 0 3 > 7 3 4 1 > 8 1 2 1 > 9 2 1 1 > 10 1 2 1 > > > > On Nov 30, 2007 10:10 AM, Alejandro Rodríguez <[EMAIL PROTECTED]> > wrote: > > > Hello, I'm new using R and developing tables. > > > > I have a problem in developing a table. In a questionaire I made I ask > > this > > question "Please tell me the first three sympthoms caused by Respiratory > > tract infection you've caught this year", then the people answer three > > sympthoms, the first mention (Top of mind) is saved in a variable called > > "P2_A", the second mention in a variable called "P2_B" and the third > > mention > > in "P2_C". Each answer is coded with numbers like this: > > > > 1 = Flu > > 2 = Cough > > 3 = Asthma > > .... > > > > 13 = Fever > > > > I've already done a K-cluster analysis and segmented my data base. So my > > first task is to develop tables to develop tables of frequencies crossing > > Cluster vs. "P2_A" in order to know which are the top of mind products and > > their frequencies by cluster, then the second mention and third mention. > > I've used this instruction which worked well: > > > > > table(infec1,aglomera) > > aglomera > > infec1 1 2 3 4 > > 1 117 88 76 83 > > 2 10 10 9 7 > > 3 15 11 14 14 > > 4 2 0 1 1 > > 5 2 3 1 0 > > 6 1 0 1 0 > > 8 3 3 0 1 > > 9 3 1 1 0 > > 11 0 0 1 1 > > > > Where "infec1" is a factor of "P2_A" and "aglomera" is a factor of the > > variable "Cluster" I made. It worked well when I study them > > separately...however I would like to know the TOTAL mentions of each > > sympthom by cluster. I've done this exercise in SPSS using the "Multiple > > Response" instruction first grouping my three variables (i.e. "P2_A", > > "P2_B" > > and "P2_C") into a variable called "sick" and cross tabulating it vs. > > QCL_1 > > (my cluster variable) and it gave me the table I need in this way (showed > > at > > the bottom of this mail): > > > > How can I made a table like this in R???. I've tried combining my > > variables > > in a matrix and using xtabs, ftable, table, structable and a lot of > > combination of them but I haven't had succed with any of them. > > > > Please help me with this issue, I don't want to keep using SPSS any more. > > > > Thanx in advance. > > > > P.D. Result from SPSS is shown below. > > > > > > > > * * * C R O S S T A B U L A T I O N * * * > > > > $SICK (group) mr sick > > by QCL_1 Cluster Number of Case > > > > > > QCL_1 > > > > Count I > > I Row > > I Total > > I 1 I 2 I 3 I 4 I > > $SICK --------+--------+--------+--------+--------+ > > 1 I 130 I 97 I 83 I 89 I 399 > > Gripe, influenza, ca I I I I I 83.1 > > +--------+--------+--------+--------+ > > 2 I 53 I 55 I 42 I 46 I 196 > > Tos de cualquier tip I I I I I 40.8 > > +--------+--------+--------+--------+ > > 3 I 33 I 36 I 36 I 39 I 144 > > Dolor irritación I I I I I 30.0 > > +--------+--------+--------+--------+ > > 4 I 5 I 1 I 2 I 3 I 11 > > Bronquitis I I I I I 2.3 > > +--------+--------+--------+--------+ > > 5 I 5 I 4 I 1 I 0 I 10 > > Sinusitis I I I I I 2.1 > > +--------+--------+--------+--------+ > > 6 I 1 I 1 I 1 I 3 I 6 > > Rinitis I I I I I 1.3 > > +--------+--------+--------+--------+ > > 8 I 8 I 6 I 4 I 4 I 22 > > Amigdalitis I I I I I 4.6 > > +--------+--------+--------+--------+ > > 9 I 6 I 4 I 1 I 2 I 13 > > Faringitis I I I I I 2.7 > > +--------+--------+--------+--------+ > > 10 I 1 I 2 I 2 I 3 I 8 > > Laringitis I I I I I 1.7 > > +--------+--------+--------+--------+ > > 11 I 1 I 1 I 1 I 1 I 4 > > Neumonia I I I I I .8 > > +--------+--------+--------+--------+ > > 13 I 0 I 0 I 1 I 0 I 1 > > Asma I I I I I .2 > > +--------+--------+--------+--------+ > > Column 153 116 104 107 480 > > Total 31.9 24.2 21.7 22.3 100.0 > > > > Percents and totals based on respondents > > > > 480 valid cases; 0 missing cases > > > > > > > > Act. Calef Alejandro Rodríguez Cuevas > > Analista de mercado > > > > Laboratorios Farmasa S.A. de C.V. > > Schwabe Mexico, S.A. de C.V. > > > > Bufalo Nr. 27 > > Col. del Valle 03100 > > Mexico, D.F. > > Mexico > > > > Tel. 52 00 26 80 > > email: [EMAIL PROTECTED] > > > > www.schwabe.com.mx > > www.umckaloabo.com.mx > > > > ______________________________________________ > > 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. > > > > > > -- > ====================================== > T.K. (Tae-kyun) Kim > Ph.D. student > Department of Marketing > Marshall School of Business > University of Southern California > ====================================== > > [[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. ______________________________________________ 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.