]> git.donarmstrong.com Git - xtable.git/commitdiff
Fixed null subheadings and null message cases for print.xtableList
authordscott <dscott@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Tue, 2 Feb 2016 03:06:29 +0000 (03:06 +0000)
committerdscott <dscott@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Tue, 2 Feb 2016 03:06:29 +0000 (03:06 +0000)
git-svn-id: svn://scm.r-forge.r-project.org/svnroot/xtable@110 edb9625f-4e0d-4859-8d74-9fd3b1da38cb

pkg/R/xtableList.R
pkg/vignettes/listOfTablesGallery.Rnw

index 9c7a602fc58c2fab2f1a7cf1da52fbb166c438c4..f4476a3e7d807efcbd05865a3e8f94f40e3c3add 100644 (file)
@@ -110,8 +110,20 @@ print.xtableList <- function(x,
                                   dim(combined)[1]))\r
       command <- sapply(x, attr, "subheading")\r
 \r
-      add.to.row$command[1:length(x)] <-\r
-        paste0(mRule,"\n\\multicolumn{", nCols, "}{l}{", command, "}\\\\\n")\r
+      for (i in 1:length(x)){\r
+        if( !is.null(command[[i]]) ){\r
+          add.to.row$command[i] <-\r
+            paste0(mRule,"\n\\multicolumn{", nCols, "}{l}{",\r
+                   command[[i]],\r
+                   "}\\\\\n")\r
+        } else {\r
+          add.to.row$command[i] <- paste0(mRule, "\n")\r
+        }\r
+      }\r
+      ## Changed at request of Russ Lenth\r
+      ## add.to.row$command[1:length(x)] <-\r
+      ##   paste0(mRule,"\n\\multicolumn{", nCols, "}{l}{", command, "}\\\\\n")\r
+      \r
       if ( (booktabs) & length(attr(x, "message") > 0) ){\r
         attr(x, "message")[1] <-\r
           paste0("\\rule{0em}{2.5ex}", attr(x, "message")[1])\r
@@ -146,15 +158,42 @@ print.xtableList <- function(x,
       add.to.row <- list(pos = NULL, command = NULL)\r
       add.to.row$pos <- as.list(c(0, c(combinedRowNums[1:length(x)])))\r
       command <- sapply(x, attr, "subheading")\r
+\r
+\r
       add.to.row$command[1] <-\r
-        paste0("\n\\multicolumn{", nCols, "}{l}{", command[1], "}", " \\\\ \n",\r
-               colHead)\r
-      add.to.row$command[2:length(x)] <-\r
-        paste0(bRule,\r
-               "\\\\ \n\\multicolumn{", nCols, "}{l}{",\r
-               command[2:length(x)], "}",\r
-               "\\\\ \n",\r
-               colHead)\r
+        if( !is.null(command[[1]]) ){\r
+          add.to.row$command[1] <-\r
+            paste0("\n\\multicolumn{", nCols, "}{l}{",\r
+                   command[[1]],\r
+                   "}\\\\ \n", colHead, "\n")\r
+        } else {\r
+          add.to.row$command[1] <- colHead\r
+        }\r
+\r
+      for (i in 2:length(x)) {\r
+        add.to.row$command[i] <-\r
+          if( !is.null(command[[i]]) ) {\r
+            paste0(bRule,\r
+                   "\\\\ \n\\multicolumn{", nCols, "}{l}{",\r
+                   command[[i]], "}",\r
+                   "\\\\ \n",\r
+                   colHead)\r
+          } else {\r
+            add.to.row$command[i] <- paste0("\n", colHead)\r
+          }\r
+      }\r
+      \r
+      ## Changed at request of Russ Lenth\r
+      ## add.to.row$command[1] <-\r
+      ##   paste0("\n\\multicolumn{", nCols, "}{l}{", command[1],\r
+      ##          "}", " \\\\ \n",\r
+      ##          colHead)\r
+      ## add.to.row$command[2:length(x)] <-\r
+      ##   paste0(bRule,\r
+      ##          "\\\\ \n\\multicolumn{", nCols, "}{l}{",\r
+      ##          command[2:length(x)], "}",\r
+      ##          "\\\\ \n",\r
+      ##          colHead)\r
       if ( (booktabs) & length(attr(x, "message") > 0) ){\r
         attr(x, "message")[1] <-\r
           paste0("\\rule{0em}{2.5ex}", attr(x, "message")[1])\r
index 468cc9d16fa60ae992f65eda1dde94e0d8b1c763..5d20236bfacd33082a2eb6566b54b9dc674e3745 100644 (file)
@@ -92,6 +92,20 @@ xList2 <- xtableList(mtcarsList, digits = c(0,2,0,0,0,1,2),
 str(xList2)\r
 @ %def\r
 \r
+Further versions with no subheadings, and no message\r
+\r
+<<xtablelist3>>=\r
+attr(mtcarsList, "subheadings") <- NULL\r
+xList3 <- xtableList(mtcarsList)\r
+str(xList3)\r
+@ %def\r
+\r
+<<xtablelist4>>=\r
+attr(mtcarsList, "message") <- NULL\r
+xList4 <- xtableList(mtcarsList)\r
+str(xList4)\r
+@ %def\r
+\r
 \newpage\r
 \r
 \section{Single Column Names}\r
@@ -154,6 +168,17 @@ Rotated column names?
 print.xtableList(xList, rotate.colnames = TRUE)\r
 @ %def\r
 \r
+No subheadings?\r
+<<nosubheadings, results='asis'>>=\r
+print.xtableList(xList3)\r
+@ %def\r
+\r
+No message?\r
+<<nomessage, results='asis'>>=\r
+print.xtableList(xList4)\r
+@ %def\r
+\r
+\r
 \section{Multiple Column Names}\r
 \label{sec:multiple-column-names}\r
 \r
@@ -195,6 +220,16 @@ print.xtableList(xList, colnames.format = "multiple",
                  rotate.colnames = TRUE)\r
 @ %def\r
 \r
+No subheadings?\r
+<<multiplenosubheadings, results='asis'>>=\r
+print.xtableList(xList3, colnames.format = "multiple")\r
+@ %def\r
+\r
+No message?\r
+<<multiplenomessage, results='asis'>>=\r
+print.xtableList(xList4, colnames.format = "multiple")\r
+@ %def\r
+\r
 \section{lsmeans}\r
 \label{sec:lsmeans}\r
 \r