标签: xtable

xtable 包:跳过输出中的一些行

xtable输出中,如果我希望某些行中没有任何内容,我会将NA's 放在与我想要跳过的行相对应的矩阵元素中。

但是,这将导致 xtable 输出类似& & & & & & & & \\. 我想知道的是我如何制作它,所以它只\\适用于我希望跳过的那一行。

latex r dataframe xtable

2
推荐指数
1
解决办法
1237
查看次数

xtable() 在 R 中保留乳胶功能

我正在用 R 生成一系列表格,一旦我在乳胶中报告它们,这些表格将包含分数。为此,我使用 paste() 函数在 r 中应用分数命令,但是当我对其进行 xtable 时,它​​在开头丢失了“\f”。下面是代码。您知道如何保留完整功能吗?谢谢

x <- as.vector(rbind(1, paste("\frac{",1, "}{", 2, "}", sep ="" ))) 
y <- as.vector(rbind(2, paste("\frac{", 2, "}{", 3, "}", sep ="" )))    
table<- cbind(x,y)
xtable(table)
Run Code Online (Sandbox Code Playgroud)

r xtable

2
推荐指数
1
解决办法
290
查看次数

在R中格式化html表

我想改进html我使用包在R中生成的表的外观xtable:

 library(xtable)

 html.table = xtable(<mydataframe>)
 digits(html.table) = 2
Run Code Online (Sandbox Code Playgroud)

我打印表使用:

 html.tab = print(html.table, type = "html", floating = FALSE)
 cat(html.tab, file = <html link>)
Run Code Online (Sandbox Code Playgroud)

我希望能够证明表中的文本,修改标题列的颜色,更改字体,...

有什么方法可以在R中实现这一点吗?

谢谢!

html r xtable

2
推荐指数
1
解决办法
7451
查看次数

将 xtable 中底行的内容加粗

如何将 xtable 最后一行的内容加粗?底行包含总和,我希望它加粗。

我使用以下内容:

<<eval=TRUE,echo=FALSE,results='asis',warning=FALSE,message=FALSE,error=FALSE>>=

test.xt <- xtable(test, label="table", caption='test')
align(test.xt) <- "|l|l|r|r|r|r|r|r|"
print(test.xt, tabular.environment='tabularx', include.rownames = FALSE,  width="\\textwidth", floating=FALSE)
@
Run Code Online (Sandbox Code Playgroud)

latex r xtable

2
推荐指数
1
解决办法
1969
查看次数

在循环中的 xtable 图形之间添加节标题

我正在使用 knitr 生成 PDF 文章。我想打印一系列表格,其间带有节标题。我正在 R 代码块中执行此操作。但不幸的是,发生的情况是第一个标题打印出来,然后是一个数字,然后其余的标题适合该页面,其余的表格在后面,而不是根据需要散布在标题中。

pdf 输出的屏幕截图

此页之后还有一系列 5 个表格,分别位于各自的页面上。

这是我正在使用的代码:

dfList <- list(alc_top, alc_bottom, cpg_home_top, cpg_home_bottom, electronics_top, electronics_bottom)
labels <- c("Premium Liquor Brand - Top Performers", "Premium Liquor Brand- Bottom Performers", "CPG Home - Top Performers", "CPG Home - Bottom Performers", "Electronics - Top Performers", "CPG Home - Bottom Performers")

for (i in 1:length(dfList)) {
  df <- dfList[[i]]
  product = "test"
  cat(paste("\\section{",labels[i],"}", sep=""))  
  print(xtable(df,size="\\tiny"))
}
Run Code Online (Sandbox Code Playgroud)

我尝试cat("\\newpage")在循环内添加新行。这会为每个标签添加一个新页面,但所有图表都再次位于新部分之后。

我认为我需要为表格指定一个定位值(H 或 h 或 LaTex 中类似的值),但我不太确定如何使用 xtable 和 knit 来做到这一点。

latex r xtable knitr

2
推荐指数
1
解决办法
446
查看次数

使用`gsub`删除"print.xtable"的无关空格

我是R开发的新手,必须修改一些现有的代码.具体来说,我需要更改一个print()调用,以便删除多余的连续空格字符.

我找到了sanitize.text.function参数,并成功将我的自定义函数传递给print()函数.它完成了我需要做的事情.该代码如下:

print(xtable(x,...),type="html",
      sanitize.text.function = function(s) gsub(" {2,}", "", s),...)
Run Code Online (Sandbox Code Playgroud)

现在我要做的是将"匿名"/"内联"函数代码提取到命名函数中,如此...

clean <- function(s) { gsub(" {2,}", "", s) }
print(xtable(x,...),type="html",sanitize.text.function = clean(s),...)
Run Code Online (Sandbox Code Playgroud)

但是,当我执行此操作时,我得到以下内容:

gsub中的错误("{2,}","",s):找不到对象的'

定义函数的愿望是双重的:

  1. 创建一个可以在其他地方引用的可重用代码块,以及
  2. 能够添加gsub()可能需要的更多或类似的执行,

例如,

clean <- function(s) { 
    gsub(" {2,}", "", s)
    gsub(">(.*?:)", "<span style=float:left>\1</span>", s)
}

print(xtable(x,...),type="html",sanitize.text.function = clean(s),...)
Run Code Online (Sandbox Code Playgroud)

r gsub xtable

1
推荐指数
1
解决办法
1112
查看次数

使用xtable确保所有单元格在LaTeX表示中都有3位数

我有以下数据帧:

> dput(py6s_pwc_16)
structure(list(source = c("AERONET", "BIGF", "MODIS"), ndvi_real = c(0.618, 
0.618, 0.618), ndvi_95 = c("0.616", "0.616", "0.615"), ndvi_05 = c("0.62", 
"0.62", "0.621"), perc_95 = c("-0.288", "-0.315", "-0.431"), 
    perc_05 = c("0.374", "0.289", "0.471")), .Names = c("source", 
"ndvi_real", "ndvi_95", "ndvi_05", "perc_95", "perc_05"), row.names = c(NA, 
-3L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

当我在R命令提示符下打印它时,它看起来像这样:

> py6s_pwc_16
   source ndvi_real ndvi_95 ndvi_05 perc_95 perc_05
1 AERONET     0.618   0.616    0.62  -0.288   0.374
2    BIGF     0.618   0.616    0.62  -0.315   0.289
3   MODIS     0.618   0.615   0.621  -0.431   0.471
Run Code Online (Sandbox Code Playgroud)

我想使用生成此表的LaTeX表示xtable …

latex r xtable

1
推荐指数
1
解决办法
339
查看次数

如何在xtable的align参数中设置列宽和文本对齐?

我想保持我使用align参数设置的列的宽度,xtable我想将所有数字列对齐到右边,其他人在左边,标题到中心.

我找到了一些使用直接写在rnw文件中的表的解决方案,但我想从文件加载我的数据,因为我的表非常大,可以在创建knitr文档时更改.

代码(我iris在本例中使用了数据集而不是我自己的数据):

<<table_symbionts_chunk, results="asis", echo=FALSE>>=
    library(xtable)

        irisX <-print (xtable (iris,
                                     digits=rep(0,6),
                                     align= c("p{0.015\\textwidth}|", 
                                              "p{0.37\\textwidth}|", 
                                              "p{0.12\\textwidth}|", 
                                              "p{0.08\\textwidth}|", 
                                              "p{0.02\\textwidth}|", 
                                              "p{0.35\\textwidth}|")))
        @
Run Code Online (Sandbox Code Playgroud)

r xtable knitr

1
推荐指数
1
解决办法
5311
查看次数

在指定尺寸后使用xtable和knitr时的额外花括号

我正在使用创建R Markdown文档,knitr并且在xtable创建表时遇到了麻烦.我的表非常大,我正在尝试使用语句中的size命令减小大小print.我遇到的问题是该命令似乎添加了两个额外的花括号,它们显示在PDF中,一个在表之前,一个在之后.

有谁知道解决这个问题的方法?

MWE:

---
output:
  pdf_document:
    keep_tex: yes
tables: true
---

```{r, results='asis', echo=FALSE}

library(xtable)

my.df <- data.frame(matrix(c(1:18),nrow=2))

glossaryprint <- xtable(my.df, caption="Summary of Terms")

print(glossaryprint,
      comment=FALSE,
      floating=FALSE,
      size="footnotesize"
)

```
Run Code Online (Sandbox Code Playgroud)

latex r xtable knitr r-markdown

1
推荐指数
1
解决办法
758
查看次数

带有多列和书签的 R xtable

我想将 data.frame 转换为具有多列的(booktab)乳胶表,但我无法创建将 放在\toprule表顶部的输出。使用了以下数据

dat <- structure(c(841.8, 804.4, 135.1, 106.2, 0.7025, 0.09645, 305.2, 
707.1, 449.3, 119.9, 0.7025, 0.09645), .Dim = c(2L, 6L), .Dimnames = list(
c("ev", "smooth"), c("Mean", "SD", "best", "Mean", "SD", 
"best")))

> dat    
    Mean    SD    best  Mean    SD    best
    ev     841.8 135.1 0.70250 305.2 449.3 0.70250
    smooth 804.4 106.2 0.09645 707.1 119.9 0.09645

addtorow <- list()
addtorow$pos <- list(-1)
addtorow$command <- '& \\multicolumn{3}{c}{Tab a}& \\multicolumn{3}{c}{Tab b}\\\\'

print(xtable(dat), add.to.row=addtorow, include.colnames=TRUE,booktabs=TRUE)
Run Code Online (Sandbox Code Playgroud)

输出看起来几乎正确,但\toprule位置错误。

\begin{table}[ht]
\centering
\begin{tabular}{rrrrrrr}
  & …
Run Code Online (Sandbox Code Playgroud)

latex r xtable

1
推荐指数
1
解决办法
878
查看次数

标签 统计

r ×10

xtable ×10

latex ×6

knitr ×3

dataframe ×1

gsub ×1

html ×1

r-markdown ×1