编辑:基于aL3xa的答案,我在下面修改了他的语法.不完美,但越来越近了.我还没有找到一种方法来为列或行创建xtable accept\multicolumn {}参数.似乎Hmisc在幕后处理这些类型的任务,但看起来有点想要了解那里发生了什么.有没有人有Hmisc乳胶功能的经验?
ctab <- function(tab, dec = 2, margin = NULL) {
tab <- as.table(tab)
ptab <- paste(round(prop.table(tab, margin = margin) * 100, dec), "%", sep = "")
res <- matrix(NA, nrow = nrow(tab) , ncol = ncol(tab) * 2, byrow = TRUE)
oddc <- 1:ncol(tab) %% 2 == 1
evenc <- 1:ncol(tab) %% 2 == 0
res[,oddc ] <- tab
res[,evenc ] <- ptab
res <- as.table(res)
colnames(res) <- rep(colnames(tab), each = 2)
rownames(res) <- rownames(tab)
return(res)
} …Run Code Online (Sandbox Code Playgroud) 我想要的是使用R,Markdown和knitr在PDF文件或html文件中打印漂亮的交叉制表,来自RStudio.我怀疑我错过了一些非常明显的东西,因为我无法相信这是如此困难.我使用xtabs或ftable制作交叉表.
我想要的是像R控制台输出的精美印刷版本.
> x
Col
Row A B C
D 15 9 7
E 13 14 9
F 8 8 17
> f
Col A B C
Row
D 15 9 7
E 13 14 9
F 8 8 17
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几种不同的解决方案,其中没有一种真正有效,并且显示在附带的.Rmd文件中.(我尝试过pdf和html输出.)
---
title: "trial"
author: "Anthony Staines"
date: "26/08/2014"
output: html_document
---
# Make the data
```{r, echo=TRUE,results='asis',message=FALSE}
library(knitr)
library(memisc)
library(xtable)
library(stargazer)
library(texreg)
set.seed(893)
Col <- sample(c('A','B','C'),100,replace=TRUE)
Row <- sample(c('D','E','F'),100,replace=TRUE)
```
```{r, echo=TRUE,results='asis',message=FALSE}
x <- xtabs(~Row+Col)
x
kable(x)
kable(x,format='html')
kable(x,format='html',output …Run Code Online (Sandbox Code Playgroud) 我有很多表格,周围有文字描述它们.像这样的东西:
This table shows blah blah...
<<echo=FALSE, results=tex>>=
print(
xtable(x,
caption = "blah", label = "tab:four", table.placement = "tbp", caption.placement = "top")
, size = "small", table.placement="ht")
@
This table shows blah blah...
<<echo=FALSE, results=tex>>=
print(
xtable(x,
caption = "blah", label = "tab:five", table.placement = "tbp", caption.placement = "top")
, size = "small", table.placement="ht")
@
Run Code Online (Sandbox Code Playgroud)
我希望我的所有描述性文本都与表格一致,以便它们遵循我正在编写它们的顺序.但是在页面末尾,一些表格移到下一页,描述性文本只是自由浮动.是否有一些特定的table.placement命令可以确保一切都保持原样?
我想在我打印的表格下面发表评论,xtable.我认为最好的选择是使用"标题"选项:xtable(tablename, caption="This is a caption").但这是以某种方式自动放入"表1",因此输出如下:
表1:这是一个标题.
是否有任何方法可以抑制这种或任何更简单的方式将注释简单地作为表中的附加最后一行?
table基本R中的函数添加了漂亮的行/列标签,但是当我使用knitr::kable它们时就会消失.保持这些的任何简单方法,除了在html/markdown方面添加它们?
可重复的例子:
library(knitr)
# reproducibility
set.seed(123)
# here's a df
some_data <-
data.frame(a=sample(c('up','down'), 10, replace=T),
b=sample(c('big','small'), 10, replace=T))
# using table() you get nice labels ('a' and 'b', in this case)
table(some_data)
Run Code Online (Sandbox Code Playgroud)

# that goes away with kable, in either markdown or html format (I care about html)
kable(table(some_data))
kable(table(some_data), format='html')
Run Code Online (Sandbox Code Playgroud)

我想定制xtable出口到LaTeX.我知道这里有一些问题xtable,但我找不到我正在寻找的具体事情.
以下是我的表格的示例:
my.table <- data.frame(Specifiers=c("","Spec1", "Spec2", "Spec3"),
Values1 = c("N=10", 1.03, 1.71, 2.25),
Values2 = c("N=20", 1.32, 1.79, 2.43))
colnames(my.table)[1] <- ""
Run Code Online (Sandbox Code Playgroud)
这创造了:
Values1 Values2
1 N=10 N=20
2 Spec1 1.03 1.32
3 Spec2 1.71 1.79
4 Spec3 2.25 2.43
Run Code Online (Sandbox Code Playgroud)
事实上,该表从.csv文件作为进口data.frame与my.table <- read.delim("filename.csv", sep=",", header=TRUE)
现在我创建一个LaTeX表xtable:
latex.tab <- xtable(my.table, caption=c("Stats"))
print(latex.tab, file="Summarystats.tex",
floating.environment='sidewaystable',
include.rownames=FALSE,
booktabs=TRUE,
latex.environment=NULL)
Run Code Online (Sandbox Code Playgroud)
以下是生成的LaTeX代码:
\begin{sidewaystable}[ht]
\begin{tabular}{lllllll}
\toprule
& Values1 & Values2 \\
\midrule
N=10 & N=20 \\
Spec1 …Run Code Online (Sandbox Code Playgroud) 我创建了一个包含以下Rsweave代码的表.
<<fig=FALSE,results=tex ,echo=FALSE>>=
require('xtable')
res.table<-xtable(myfamDF, caption = 'Paired t-test of most common TF families', caption.placement="top", display = c('f','s','e','e','e','d','f','f','f'), table.placement="")
print(res.table, scalebox=0.7)
@
Run Code Online (Sandbox Code Playgroud)
可以看出,我使用代码caption.placement ='top',但这不起作用.我一直把我的标题放在桌子下面.出了什么问题?我试图在标题之前放置命令,但仍然不起作用.
我的表数据:
structure(list(X = c("ETS", "FH", "HLH", "HMG", "Homeo", "Homeo ",
"Homeo, POU", "IRF", "unknown", "Zn2Cys6", "ZnF_C2H2", "ZnF_C4"
), MASHvstRap = c(7.57756175712832e-05, 2.16501764489381e-05,
1.28838720843028e-05, 7.61948145586808e-26, 2.60621688448055e-53,
5.65846675050138e-11, 2.8351421540276e-06, 2.16501764489381e-05,
3.2934292268274e-24, 2.82352692734938e-05, 6.64390583188061e-16,
1.0825088224469e-05), MASHvsBEEML = c(0.000205676676264912, 0.00519604234774513,
0.00724381285695056, 0.864846903741683, 5.63594927321681e-06,
0.212004750633662, 0.519032309279987, 0.0114962436943861, 0.0364539615325715,
0.00226912148014415, 0.00150554384087195, 0.165493948775683),
tRapvsBEEML = c(1.0825088224469e-05, 1.0825088224469e-05,
5.2304674730304e-05, 3.24328889627148e-13, 8.6852178695266e-46,
7.60650709869649e-06, 2.8351421540276e-06, 1.0825088224469e-05, …Run Code Online (Sandbox Code Playgroud) 我几乎在编程格式化r输出一个初学者,但我有一个基本的了解knitr,xtable,降价和Pandoc的一个标记格式转换为另一种能力.我想要做的是将R数据帧写入dfHTML表,并将特定颜色应用于满足条件的每一行(例如,df$outcome == 1).但是,我不确定哪个软件包可以通过简单有效的方式完成此任务,但是从浏览一些表格格式线程(xtable线程1,xtable线程2,kable文档1)开始,我已经收集了它kable并且xtable可能能够完成我的期望的结果.
为了澄清,这是我可重复的例子(使用xtable,但我对使用kable或其他包的答案感兴趣):
set.seed(123)
df <- data.frame(id = sample(1:100, 20, replace = TRUE),
inputval = sample(seq(0, 1, by=0.01), 20, replace = TRUE),
outcome = sample(1:4, 20, replace = TRUE))
library(xtable)
dfxt <- xtable(df)
knit2html(input = "~/rowcolor_ex.Rmd",
output = OUTPUTHERE
stylesheet = "STYLESHEET.css")
Run Code Online (Sandbox Code Playgroud)
与knit2html引用名为"rowcolor_ex.Rmd"的文件,如下图所示:
```{r,echo=FALSE,results='asis',warning=FALSE,message=FALSE}
print(dfxt,
type = "html",
include.rownames = FALSE,)
``` …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以xtable从命令创建一个从str(x)您使用的变量中获取概述.将某人引入数据集这是一个很好的功能,但是自己创建它会很烦人.所以我试过的是xtable这样的:
str(cars)
require(xtable)
xtable(str(cars))
Run Code Online (Sandbox Code Playgroud)
汽车数据集来自R.不幸的xtable是没有给出Latexcode str().这可能是智取R吗?以下是xtable将要理解的主要命令:
methods(xtable)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在使用xtable来生成放入Latex的表格,并且想知道是否有一种方法可以对单元格进行条件格式化,以便所有重要的p值都是灰色的?我在TexShop中使用Knitr.
以下是使用一个例子diamonds中的数据GGPLOT2,并运行一个测试TukeyHSD来预测carat从cut.
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) r ×10
xtable ×10
latex ×4
knitr ×3
sweave ×3
conditional ×1
formatting ×1
markdown ×1
r-markdown ×1
stargazer ×1
statistics ×1