xtable package: Skipping some rows in the output

廉价感情. 提交于 2019-12-22 22:22:56

问题


In the xtable output, if I want some rows to have nothing in them I will put NA's in the elements of the matrix that correspond to the row that I want skipped.

However this will lead to xtable output of something like & & & & & & & & \\. What I want to know is how do I make it so it's ONLY \\ for that row that I wish to skip.


回答1:


Still not sure whether I understand right but I give it a shot.

The most important assumption I'm making here is that your multicolumn rows in that template are always at the same spot. You use R to create a matrix or dataframe with no (useful) data in these rows.

For the purpose of this example, the multicolumn rows are 15, 30 and 60 of a dataframe of 80 rows, corresponding to your template of 80 rows.

What you could do: In R, eliminate those NA rows entirely, so that our dataframe now has only 77 rows.

You insert empty rows for your template via xtable with

> addtorow <- list()
> addtorow$pos <- list()
> addtorow$pos[[1]] <- c(14,29,59)
> addtorow$command <- "\\\\ \n"
> print( xtable( o ), add.to.row = addtorow, include.rownames=FALSE )

That should give you empty lines, no & but with \\ and thus be what you are looking for?




回答2:


If you want more flexibility you can build the table using a combination of xtable and writeLines. Let xtable write the first part to file (print.xtable, file = "bla.txt"), then write \\ with writeLines, and continue with xtable. To prevent writing the header twice, set only.contents to TRUE. Do mind to set append equal to TRUE in your call to print.xtable and writeLines.



来源:https://stackoverflow.com/questions/12766173/xtable-package-skipping-some-rows-in-the-output

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!