标签: xtable

xtable用于条件单元格格式化表的重要p值

我正在使用xtable来生成放入Latex的表格,并且想知道是否有一种方法可以对单元格进行条件格式化,以便所有重要的p值都是灰色的?我在TexShop中使用Knitr.

以下是使用一个例子diamonds中的数据GGPLOT2,并运行一个测试TukeyHSD来预测caratcut.

library(ggplot2)
library(xtable)
summary(data.aov <- aov(carat~cut, data = diamonds))
data.hsd<-TukeyHSD(data.aov)
data.hsd.result<-data.frame(data.hsd$cut)
data.hsd.result
Run Code Online (Sandbox Code Playgroud)

然后我可以data.hsd.result进入xtable格式:

xtable(data.hsd.result)
Run Code Online (Sandbox Code Playgroud)

在Latex中,输出如下所示:

                         diff         lwr         upr        p.adj
Good-Fair         -0.19695197 -0.23342631 -0.16047764 0.000000e+00
Very Good-Fair    -0.23975525 -0.27344709 -0.20606342 0.000000e+00
Premium-Fair      -0.15418175 -0.18762721 -0.12073628 0.000000e+00
Ideal-Fair        -0.34329965 -0.37610961 -0.31048970 0.000000e+00
Very Good-Good    -0.04280328 -0.06430194 -0.02130461 5.585171e-07
Premium-Good       0.04277023  0.02165976  0.06388070 3.256208e-07
Ideal-Good        -0.14634768 -0.16643613 -0.12625923 0.000000e+00
Premium-Very Good  0.08557350  0.06974902  0.10139799 0.000000e+00
Ideal-Very Good   -0.10354440 -0.11797729 -0.08911151 0.000000e+00
Ideal-Premium     -0.18911791 -0.20296592 …
Run Code Online (Sandbox Code Playgroud)

formatting conditional latex r xtable

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

在LaTeX格式的列联表的行和列标题中包含维名称

如果列联表中的属性类别仅仅是数字,仅使用这些数字作为列/行标题是不够的 - 需要描述数字的含义.下图显示了家庭样本中家庭人数与外国人人数的交叉分类:

示例表

有没有人有使用R + LaTeX生产此类表的经验?

r xtable

11
推荐指数
2
解决办法
3194
查看次数

Knitr xtable行颜色导致行标题单元格中的第二个表格变黑

亲爱的R xtable和knitr用户:我几天来一直在努力解决这个问题,我很惊讶没有一个人已经报道过类似的案例.非常感谢您的见解和帮助.

我使用xtable制作两个或更多表.表中的行交替着色.第一张表很好.但从第二个表(或更多)开始,最左边的标题单元格总是变黑.

不幸的是,这是非常可重复的.在第一张漂亮的桌子后,我总是得到完全相同的黑色标题.以下是重现它的代码:

\documentclass{article}
\usepackage{booktabs}
\usepackage{colortbl, xcolor}

\begin{document}
<<echo=TRUE,results='asis'>>=
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(21000, 23400, 26800)

mydata <- data.frame(employee, salary)
rws <- seq(1, (nrow(mydata)), by = 2)
col <- rep("\\rowcolor[gray]{0.90}", length(rws))
library(xtable)
print(xtable(mydata, caption="Test"), booktabs = TRUE, 
      include.rownames = FALSE, caption.placement = "top",
      sanitize.colnames.function = identity,
      add.to.row = list(pos = as.list(rws), command=col))

print(xtable(mydata, caption="Test"), booktabs = TRUE, 
      include.rownames = FALSE, caption.placement = "top",
      sanitize.colnames.function = identity,
      add.to.row = list(pos = as.list(rws), command=col))
@

\end{document}
Run Code Online (Sandbox Code Playgroud)

输出: …

r alternating xtable knitr

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

将几个回归表合并为一个用于xtable中的Swetable和R中的Sweave

xtableSweave工作中很棒,但每回归一张表.你可以给它一个数据帧,也一样,所以我一直在手动rbind荷兰国际集团和paste荷兰国际集团成果转化为数据帧,但是这似乎并不十分扩展.

是否有更自动化/更强大的解决方案xtable,但是在多个lm对象上?我在纸张/书籍中看到的所有表格都是手动生成的吗?是否有一个更好的解决方案,我的janky代码生成一个数据框来提供xtable

    library(reshape2)

    data <- data.frame(matrix(rnorm(50), 10, 5))
    names(data) <- letters[1:5]
    l.raw <- list()
    l.raw[["a"]] <- lm(a ~ d + e, data=data)
    l.raw[["b"]] <- lm(b ~ d + e, data=data)
    l.raw[["c"]] <- lm(c ~ d + e, data=data)

    form.table.from.lm <- function(l.raw) {
    summ <- list()

    for (i in names(l.raw)) {
        temp <- coef(summary(l.raw[[i]]))
        summ[[i]] <- data.frame(param=rownames(temp), test=i, temp)
    }

    df.res <- do.call("rbind", summ)
    df.res <- transform(df.res, t.value …
Run Code Online (Sandbox Code Playgroud)

r sweave xtable

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

使用带有longtable选项的xtable时重复标题

有没有办法在生成带有longtable选项的xtable时重复顶行/设置标题?

例如,如果我有

tableSb <- xtable(df, caption="A Very Long Table", label="ALongTable")
print(tableSb, include.rownames=TRUE, tabular.environment="longtable", floating=FALSE)
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但是当表格滚动到新页面时,标题不会重复.有什么建议 ?

latex r longtable xtable

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

在R中用print.xtable设置数字行吗?

我得到了一些报告,其中包含一些包含比例和绝对值的表格.现在我想显示包含digits=2精度比例的行,而绝对值只显示digits=0.我知道xtable 使用这样的调用可以开箱即用

xtable(tableWith3Cols,digits=c(0,0,2,2))
Run Code Online (Sandbox Code Playgroud)

但有没有办法按行进行同样的事情?

编辑:这是一个可重复的例子

require(xtable)
df <- data.frame(col1=rnorm(10),col2=runif(10,1,3))
xtable(df,digits=c(0,5,0))
Run Code Online (Sandbox Code Playgroud)

回声

% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Fri Jan 18 18:58:47 2013
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrr}
\hline
& col1 & col2 \\ 
\hline
1 & -0.79222 & 3 \\ 
2 & 0.24845 & 2 \\ 
3 & 0.24217 & 2 \\ 
4 & -0.19935 & 2 \\ 
5 & 0.47873 & 2 \\ 
6 & 1.10494 & 2 \\ 
7 …
Run Code Online (Sandbox Code Playgroud)

r rounding xtable knitr

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

从R中的ftable对象创建一个乳胶表

在我提出问题之前,让我创建一些数据.

 my.data <- data.frame(A = sample(seq(1,100,by=5),10,replace=TRUE),W = rnorm(10),X =sample(1:10),Y = sample(c("yes", "no"), 10, replace = TRUE),Z=sample(c('a','b','c','d'),10,replace=TRUE))

attach(my.data)

my.d <- xtabs(W~Z+Y+A);my.d
table.data <- ftable(my.d)

result1 <- round(table.data,2)
Run Code Online (Sandbox Code Playgroud)

result1看起来像......

      A     6    11    16    26    71    76    86    91
Z Y                                                    
a no     0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 yes    0.00  0.56  0.00  0.00  0.00  0.79  0.00  0.01

b no     0.61  0.00 -0.22  0.14  0.00  0.00 -0.08  1.71
  yes    0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00

c no     0.00  0.00 …
Run Code Online (Sandbox Code Playgroud)

latex r xtable knitr

9
推荐指数
3
解决办法
2834
查看次数

如何在xtable.table输出中获取dimnames?

我想在xtable输出中标注尺寸.但是,xtable即使我手动指定它们,表方法也不会输出维度标签table:

set.seed(10)
d <- data.frame(x=sample(1:4),y=sample(1:4))
tb <- with(d, table(d,dnn=c("Xs","Ys")))
> tb
   Ys
Xs  1 2 3 4
  1 0 0 0 1
  2 0 1 0 0
  3 1 0 0 0
  4 0 0 1 0
> xtable(tb)
% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Tue Oct  9 09:06:10 2012
\begin{table}[ht]
\begin{center}
\begin{tabular}{rrrrr}
  \hline
 & 1 & 2 & 3 & 4 \\ 
  \hline
1 &   0 & …
Run Code Online (Sandbox Code Playgroud)

r xtable

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

使用xtable在R markdown文件中打印html表

我想在R标记文件中打印一个带有数据框的更好的表格,我知道如何使用kable它来打印它,但我想要一些更多的控制选项,我正在尝试使用该xtable软件包.但是,我真的遇到了一个愚蠢的问题,即它不会打印表格而是html文件中的代码.因此,例如,如果我想打印默认数据集,cars我会这样做:

```{r}
library(xtable)
print(xtable(head(cars)), type = "html")
```
Run Code Online (Sandbox Code Playgroud)

这给了我这段HTML代码.

## <!-- html table generated in R 3.2.5 by xtable 1.8-2 package -->
## <!-- Wed May 25 19:06:33 2016 -->
## <table border=1>
## <tr> <th>  </th> <th> speed </th> <th> dist </th>  </tr>
##   <tr> <td align="right"> 1 </td> <td align="right"> 4.00 </td> <td align="right"> 2.00 </td> </tr>
##   <tr> <td align="right"> 2 </td> <td align="right"> 4.00 </td> <td align="right"> 10.00 …
Run Code Online (Sandbox Code Playgroud)

r xtable r-markdown

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

在R/Kable()HTML表中获取列名称

我正在尝试从R数据框生成HTML表输出,并且无法获取一些长列名称来换行多行标题行.这是我当前代码和输出的最小可重现示例:

library(datasets)
library(knitr)
library(kableExtra)

data(iris)
Run Code Online (Sandbox Code Playgroud)

将前5行iris表输出为html格式表:

sink('my_file_path.html')
names_spaced <- c('Sepal Length', 'Sepal Width', 'Petal Length', 
                  'Petal Width Long Col Name', 'Species')

kable(head(iris), 
      format='html', 
      digits=1, 
      row.names=FALSE, 
      align='lccccc', 
      col.names = names_spaced)

sink()
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中打开保存的文件时,我的标题行只是一行,但我需要将这些单词换行到一行或两行(因此'Petal Width Long Col Name').

kable_styling函数有一个参数,bootstrap_options但似乎没有我需要的东西.我也尝试\n在列名中插入但无济于事.

非常感谢解决方案.不反对使用xtable包而不是kable/ knitr如果这是解决方案的一部分.

r html-table xtable knitr

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