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.