如何使用“表格”包将 data.frame 写入 R 中的 PDF 表格?

如何解决如何使用“表格”包将 data.frame 写入 R 中的 PDF 表格?

我有一个数据框。例如,它看起来像这样:

Condition    dv1_mean    dv2_mean
A               1           2
A               2           3
A               2           3
B               3           4
B               3           4
B               3           4
C               3           4
C               3           4
C               3           4

我的代码如下:

stderr <- function(x) sd(x)/sqrt(length(x))

table<-toLatex(
  tabular( (Condition + 1) ~ (n=1) + Format(digits=2)*
            (dv1_mean + dv2_mean)*(mean + sd+median+stderr),data=accuracy ))

table

当我点击 knit PDF 时,我的代码输出是一堆未格式化的杂乱代码,如下所示:

\begin{tabular}{lccccccccc}
\hline
 &  & \multicolumn{4}{c}{dv1_mean} & \multicolumn{4}{c}{dv2_mean} \\ 
Condition  & n & mean & sd & median & stderr & mean & sd & median & \multicolumn{1}{c}{stderr} \\ 
\hline
C1: Control  & $\phantom{0}433$ & $\phantom{-}0.015$ & $\phantom{-}0.487$ & $-0.172$ & $\phantom{-}0.023$ & $\phantom{-}0.022$ & $\phantom{-}0.595$ & $-0.199$ & $\phantom{-}0.029$ \\
C2: Brier-Continuous  & $\phantom{0}423$ & $-0.063$ & $\phantom{-}0.452$ & $-0.243$ & $\phantom{-}0.022$ & $-0.142$ & $\phantom{-}0.532$ & $-0.339$ & $\phantom{-}0.026$ \\
C3: Superforecaster  & $\phantom{00}17$ & $-0.306$ & $\phantom{-}0.129$ & $-0.309$ & $\phantom{-}0.031$ & $-0.266$ & $\phantom{-}0.346$ & $-0.354$ & $\phantom{-}0.084$ \\
C4: Reciprocal-Continuous  & $\phantom{0}428$ & $-0.031$ & $\phantom{-}0.484$ & $-0.234$ & $\phantom{-}0.023$ & $-0.062$ & $\phantom{-}0.582$ & $-0.287$ & $\phantom{-}0.028$ \\
All  & $1301$ & $-0.030$ & $\phantom{-}0.474$ & $-0.215$ & $\phantom{-}0.013$ & $-0.063$ & $\phantom{-}0.572$ & $-0.280$ & $\phantom{-}0.016$ \\
\hline 
\end{tabular}

如何正确使用tables包和toLatex函数

解决方法

您需要告诉 knitr 在处理输出时不理会它。为此,请将 results="asis" 放在生成表的块中。例如,在 R Markdown 中:

---
title: "Untitled"
output: pdf_document
---

```{r setup,include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

`## R Markdown

This is an R Markdown document.

```{r results='asis'}
accuracy <- data.frame(Condition = factor(rep(c("A","B","C"),each = 3)),dv1mean = c(1,2,3,3),dv2mean = c(2,4,4))

stderr <- function(x) sd(x)/sqrt(length(x))

library(tables)

table<-toLatex(
  tabular( (Condition + 1) ~ (n=1) + Format(digits=2)*
            (dv1mean + dv2mean)*(mean + sd+median+stderr),data=accuracy ))

table
```

enter image description here

请注意,我做了一些其他更改:Condition 需要是一个因素,名称中的下划线 dv1_meandv2_mean 会导致 Latex 中的问题,因此我将其删除.您也可以使用 Heading 设置明确的列标题。例如,Heading("$dv_1$-mean")*dv1_mean 而不是 dv1_mean 会产生

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?