Thank you so much David. That example provided me with enough information for me to convert the table to latex, with subdivisions intact.
/Fredrik On 8/30/05, David Whiting <[EMAIL PROTECTED]> wrote: > Hi Fredrik, > > What you need to do is to massage your table a little to get it into the > appropriate structure and then use the rgroup and n.rgroup options. > Here's an example using the Titanic data that come with R. Note that > this is not necessarily (or even remotely likely?) the best way to get > your data into the shape required, but hopefully it shows you what, in > general, you need to do. You might find that you don't need to use > ftable at all, you might find other ways of creating the table you need. > In the example below, note in particular what x and x2 look like. > > > library(Hmisc) > > x <- ftable(Titanic, row.vars = 1:2) > > x > Age Child Adult > Survived No Yes No Yes > Class Sex > 1st Male 0 5 118 57 > Female 0 1 4 140 > 2nd Male 0 11 154 14 > Female 0 13 13 80 > 3rd Male 35 13 387 75 > Female 17 14 89 76 > Crew Male 0 0 670 192 > Female 0 0 3 20 > > x.row.vars <- attr(x, "row.vars") > > col1 <- x.row.vars[[1]] > > col2 <- rep(x.row.vars[[2]], 4) > > x2 <- data.frame(sex=col2, x[ ,]) > > colnames(x2) <- c("Sex", "No", "Yes", "No", "Yes") > > x2 > Sex No Yes No Yes > 1 Male 0 5 118 57 > 2 Female 0 1 4 140 > 3 Male 0 11 154 14 > 4 Female 0 13 13 80 > 5 Male 35 13 387 75 > 6 Female 17 14 89 76 > 7 Male 0 0 670 192 > 8 Female 0 0 3 20 > > latex(x2, > + title="", > + rowname="", > + rgroup=col1, > + cgroup=c("", "Child", "Adult"), > + n.cgroup=c(1, 2, 2), > + n.rgroup=rep(2, 4) > + ) > > > HTH. > > Dave > > > Fredrik Karlsson wrote: > > Dear list, > > > > I cannot make the latex command to output a ftable objet the way I > > want it. Is it posible? > > I found a post in the archives saying that one should use the rgroup > > and n.rgroup arguments to supply the row names, but so far I have been > > unsuccessful. > > > > This is what I have: > > > > > >>(ftable(tapply(worksub$vot,list(votcat=worksub$votcat,age=worksub$agemF,voicetype=worksub$Type),FUN="distribution.table.fun",digits=4)) > >> -> ftab) > > > > voicetype Voiced Voiceless > > unaspirated Voiceless aspirated > > votcat age > > Prevoiced 18 - 24 46.6158 (0;-1.6652) 40.7417 > > (0;-0.6489) 48.4164 (0;-1.0483) > > 24 - 30 50.5716 (0;-1.4244)** 43.4056 > > (-1;-0.4537)*** 24.204 (0;-2.1416) > > 30 - 36 44.4439 (0;-1.182)* 51.0996 > > (0;-1.5241)*** 32.1219 (0;-1.5007) > > 36 - 42 40.8604 (-1;-0.3423) 40.6045 > > (-1;-0.408)** 32.7949 (0;-2.75) > > 42 - 48 46.301 (0;-1.1878) 21.6894 > > (0;-1.7041) NA (NA;NA) > > 48 - 54 38.0151 (-1;-0.7878)* 27.6954 > > (-1;0.0396)* NA (NA;NA) > > Short lag 18 - 24 7.5719 (1;0.4391)*** 9.7039 > > (1;-0.2938)*** 8.5525 (1;-0.4063)*** > > 24 - 30 8.3466 (1;-0.3122)*** 9.8524 > > (0;-0.887)*** 11.4154 (0;-1.2267)*** > > 30 - 36 9.4509 (1;-0.0795)*** 9.0177 > > (1;-0.2654)*** 9.441 (0;-0.7625) > > 36 - 42 9.4921 (1;-0.1835)*** 10.107 (0;-0.72)** > > 10.912 (0;-1.3619) > > 42 - 48 7.8254 (1;1.016)** 9.5687 (0;-0.9019) > > 10.6842 (-1;0.0719)* > > 48 - 54 7.7332 (1;1.2834)** 9.4626 > > (1;0.3173)*** 10.0508 (0;-1.4876) > > Long lag 18 - 24 16.7312 (0;-1.7286) 21.4786 > > (2;2.4726)** 41.6646 (1;-0.6796)*** > > 24 - 30 29.5637 (1;-0.0951)** 37.4517 > > (1;0.1032)*** 38.2729 (1;-0.3249)*** > > 30 - 36 23.0214 (0;-1.3023) 35.0403 > > (1;0.9176)*** 36.0989 (1;-0.2141)*** > > 36 - 42 10.579 (1;0.3292) 31.4878 > > (0;-1.2475) 38.0472 (1;-0.3049)** > > 42 - 48 17.9077 (1;-1.2857) 26.8651 > > (1;0.0221)*** 30.5705 (1;-0.5866)*** > > 48 - 54 18.832 (0;-2.3333) 40.375 (1;-1.417)* > > 26.2463 (1;0.4025)*** > > > >>latex(ftab,cgroup=attributes(ftab)$col.vars$voicetype, > >>rgroup=attributes(ftab)$row.vars$votcat, n.rgroup=c(6,6,6),file="") > > > > % latex.default(ftab, cgroup = attributes(ftab)$col.vars$voicetype, > > rgroup = attributes(ftab)$row.vars$votcat, n.rgroup = c(6, > > 6, 6), file = "") > > % > > \begin{table}[!tbp] > > \begin{center} > > \begin{tabular}{lclcl}\hline\hline > > \multicolumn{1}{c}{\bfseries Voiced}& > > \multicolumn{1}{c}{\bfseries }& > > \multicolumn{1}{c}{\bfseries Voiceless unaspirated}& > > \multicolumn{1}{c}{\bfseries }& > > \multicolumn{1}{c}{\bfseries Voiceless aspirated} > > \\ \cline{1-5} > > \multicolumn{1}{c}{}& > > \multicolumn{1}{c}{}& > > \multicolumn{1}{c}{}& > > \multicolumn{1}{c}{}& > > \multicolumn{1}{c}{} > > \\ \hline > > &&&&\\ > > 46.6158 (0;-1.6652)&&40.7417 (0;-0.6489)&&48.4164 (0;-1.0483)\\ > > 50.5716 (0;-1.4244)**&&43.4056 (-1;-0.4537)***&&24.204 (0;-2.1416)\\ > > 44.4439 (0;-1.182)*&&51.0996 (0;-1.5241)***&&32.1219 (0;-1.5007)\\ > > 40.8604 (-1;-0.3423)&&40.6045 (-1;-0.408)**&&32.7949 (0;-2.75)\\ > > 46.301 (0;-1.1878)&&21.6894 (0;-1.7041)&&NA (NA;NA)\\ > > 38.0151 (-1;-0.7878)*&&27.6954 (-1;0.0396)*&&NA (NA;NA)\\ > > \hline > > &&&&\\ > > 7.5719 (1;0.4391)***&&9.7039 (1;-0.2938)***&&8.5525 (1;-0.4063)***\\ > > 8.3466 (1;-0.3122)***&&9.8524 (0;-0.887)***&&11.4154 (0;-1.2267)***\\ > > 9.4509 (1;-0.0795)***&&9.0177 (1;-0.2654)***&&9.441 (0;-0.7625)\\ > > 9.4921 (1;-0.1835)***&&10.107 (0;-0.72)**&&10.912 (0;-1.3619)\\ > > 7.8254 (1;1.016)**&&9.5687 (0;-0.9019)&&10.6842 (-1;0.0719)*\\ > > 7.7332 (1;1.2834)**&&9.4626 (1;0.3173)***&&10.0508 (0;-1.4876)\\ > > \hline > > &&&&\\ > > 16.7312 (0;-1.7286)&&21.4786 (2;2.4726)**&&41.6646 (1;-0.6796)***\\ > > 29.5637 (1;-0.0951)**&&37.4517 (1;0.1032)***&&38.2729 (1;-0.3249)***\\ > > 23.0214 (0;-1.3023)&&35.0403 (1;0.9176)***&&36.0989 (1;-0.2141)***\\ > > 10.579 (1;0.3292)&&31.4878 (0;-1.2475)&&38.0472 (1;-0.3049)**\\ > > 17.9077 (1;-1.2857)&&26.8651 (1;0.0221)***&&30.5705 (1;-0.5866)***\\ > > 18.832 (0;-2.3333)&&40.375 (1;-1.417)*&&26.2463 (1;0.4025)***\\ > > \hline > > \end{tabular} > > > > \end{center} > > > > \end{table} > > > > > > > > As you can see, I do not get any row names, and I want two layers of > > them (votcat and age in the formula). Column names work ok. > > > > Please, help me recreate the table above in latex form (if it is > > indeed possible). > > > > /Fredrik > > > > ______________________________________________ > > 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 > > > > -- > David Whiting > School of Clinical Medical Sciences, The Medical School > University of Newcastle upon Tyne, NE2 4HH, UK. > > "I love deadlines. I love the whooshing noise they make as they go by" > (Douglas Adams) > > > -- My Gentoo + PVR-350 + IVTV + MythTV blog is on http://gentoomythtv.blogspot.com/ ______________________________________________ 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