我想threeparttable在Rmd/Knitr文档中创建一个并在表格底部添加注释.该表由一个块内的R函数创建results = "asis".我没有将该函数添加到工作示例中,因为它非常详细,并且问题从纯LaTeX代码中可见一斑.
这有效,结果看起来像预期的那样.
---
title: "Untitled"
output: pdf_document
header-includes:
- \usepackage{threeparttable}
- \usepackage{booktabs}
- \usepackage{longtable}
references:
- id: rao2001basic
title: Basic Research in Parapsychology
author:
- family: Rao
given: K.R.
issued:
year: 2001
publisher: McFarland
type: book
---
\begin{table}[h]
\centering
\begin{threeparttable}
\caption{A summary table of the cars dataset.}
\begin{tabular}{lrr}
\toprule
Descriptives & speed & dist\\
\midrule
Mean & 15.4 & 42.98\\
SD & 5.29 & 25.77\\
Min & 4 & 2\\
Max & 25 & …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用该rmarkdown软件包编写报告,但不幸的是,我的现场报告中的惯例通常作为MS Word文档提交.所以我不能总是依靠它的力量,LaTeX必须能够将我的.Rmd转换为MS Word.现在,因为我希望能够从同一个源文件创建PDF和MS Word文件,所以我试图找到一种通用的方法来实现这一点.我已经使用apa6LaTeX文档类工作了PDF .创建Word文件时.Rmd看起来像这样:
---
title: My title
abstract: This is the abstract.
author: John Doe
affiliation: Unknown
note: Nothing to say.
output:
word_document:
reference_docx: myreference.docx
---
Lorem ipsum.
Run Code Online (Sandbox Code Playgroud)
我可以从这里创建一个Word文档,但由于显而易见的原因,我的自定义yaml变量(例如抽象)将不会在文档中呈现.
基本上,我的问题如下:
在创建word文档时,如何在文档正文("Lorem ipsum")之前添加标题页(包括作者姓名,从属关系,作者注释等)和另一页仅包含摘要?这里的重点不是创建分页符(有关于此的其他开放性问题),而是**是否有一种方法可以pandoc使用自定义yaml变量将它们放在文档的开头并为它们分配样式?
该rmarkdown包提供了一个include()功能,但它只适用于HTML和PDF文档.
我想在循环中对多个因变量ezANOVA从ez包中运行一个,并将结果保存到几个变量中。每个因变量位于同一数据框的单独列中。
all.dependent.variables <- c("dv1", "dv2")
for(dependent.variable in all.dependent.variables){
assign(paste(dependent.variable, ".aov.results", sep = ""),
ezANOVA(aov.data,
dv = dependent.variable,
wid = subject,
within = .(factor1, factor2),
return_aov = TRUE))
}
Run Code Online (Sandbox Code Playgroud)
这是一个示例数据框:
aov.data <- structure(list(subject = structure(c(10L, 11L, 12L, 1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L,
10L, 11L, 12L, 1L, 2L, 3L, 4L, …Run Code Online (Sandbox Code Playgroud) 简而言之:有没有办法metadata在以下R代码块中操作从YAML头生成的RMarkdown -list?为了说明,我尝试了以下方法:
---
title: "Untitled"
output: html_document
---
```{r}
rmarkdown::metadata$title <- "New title"
rmarkdown::metadata$title
```
Run Code Online (Sandbox Code Playgroud)
但是,这会引发错误.
Error in rmarkdown::metadata$title <- "New title" :
Object 'rmarkdown' not found
Run Code Online (Sandbox Code Playgroud)
我正在研究RMarkdown TeX模板.前导码的某些部分需要根据langYAML头中定义的变量进行本地化.我目前的方法是检查值metadata$lang并创建相应术语列表.例如,我想将列表的内容添加到metadataTeX模板中并访问这些术语$loc_wordcount$.
我整理avolist物品时遇到了一些麻烦.当执行重复测量方差分析时,optput对象通常是aov不同错误层的对象列表.
datafilename <- "http://personality-project.org/r/datasets/R.appendix5.data"
aov_example <- read.table(datafilename, header = T)
aov_example <- aov(Recall ~ (Task*Valence*Gender*Dosage) + Error(Subject/(Task*Valence)) +(Gender*Dosage), aov_example)
class(aov_example)
Run Code Online (Sandbox Code Playgroud)
[1]"aovlist""listof"
(例子来自http://personality-project.org/r/#anova)
到目前为止,不能直接整理这些对象,因为broom::fix_data_frame()不采用列表.
library("broom")
tidy(aov_example)
Run Code Online (Sandbox Code Playgroud)
as.data.frame.default(x)中的错误:无法将类"c("aovlist","listof")强制转换为data.frame
所以我尝试使用lapply(),但这会引发错误:
lapply(aov_example, tidy)
Run Code Online (Sandbox Code Playgroud)
`colnames <-`(`*tmp*`,value = c("df","sumsq","meansq","statistic")中的错误:属性'names'[5]的长度必须与vector相同[ 3]
这有一个简单的解决方案吗?