Knitr提供的结果与RStudio不同

ine*_*dal 5 r knitr rweka

我正在使用'tm'和'RWeka'进行一些初始文本挖掘,使用Knitr进行再现.

我正在尝试基于两个文本文件获取语料库的术语 - 文档矩阵,当我在RStudio中运行代码并将其编织成HTML文件时,该过程有不同的结果: HTML文件

...当我尝试其他文档输出PDF和Word输出时:PDF和Word输出

同意RStudio.

而且,我需要一个HTML输出....

对可能发生的事情有任何想法?

这是.Rmd代码

---
title: "test"
author: "me"
output: word_document
---

```{r init, echo=FALSE, warning=FALSE, cache=TRUE, message=FALSE}
library(knitr)
library(tm)
library(SnowballC)
library(RWeka)
setwd("~")
options(mc.cores=1) # some problems with parallel processing
```
```{r 1-gram-test, echo=FALSE, eval=TRUE,cache=TRUE}

doc1 <- c("en un lugar de la mancha de cuyo nombre no quiero acordarme habitaba un hidalgo de los de adarga antigual, rocín flaco y galgo corredor")
doc2 <- c("había una vez un barquito chiquitito, que no sabía, que no sabía, que no sabía navegar... pasaron un dos tres cuatro cinco seis semanas y el barquito navegó.")
docs <- c(doc1, doc2)
es <- Corpus(VectorSource(docs),
         readerControl = list(reader = readPlain,
                              language = "ES-es", load = TRUE))
es
# convert to plain text
es1 <- tm_map(es, PlainTextDocument)

monogramtok <- function(x) {
    RWeka::NGramTokenizer(x, RWeka::Weka_control(min = 1, max = 1))
}

es_tdm1 <- TermDocumentMatrix(es1)

esmono_tdm1 <- TermDocumentMatrix(es1, 
                                 control = list(tokenize = monogramtok, 
                                                wordLengths = c(1, Inf))) #,                               

printf("es_tdm1")
es_tdm1

printf("esmono_tdm1")
esmono_tdm1
Run Code Online (Sandbox Code Playgroud)

```

sessionInfo()R版本3.2.3(2015-12-10)平台:x86_64-apple-darwin13.4.0(64位)运行于:OS X 10.11.4(El Capitan)

locale:[3] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

附加基础包:[3] stats graphics grDevices utils数据集方法库

其他附件包:[3] R.utils_2.2.0 R.oo_1.20.0 R.methodsS3_1.7.1 dplyr_0.4.3 xtable_1.8-0
[6] pander_0.6.0 RWeka_0.4-24 SnowballC_0.5.1 tm_0.6-2 NLP_0 .1-9
[11] knitr_1.12.3

jay*_*elm 4

我遇到了类似的问题,然后意识到我正在使用knitr该选项缓存我的块cache=TRUE(正如您似乎也设置的那样)。

如果缓存的块有副作用或依赖于外部资源,这可能会导致一些非常微妙的错误。

当我禁用缓存时,我的再现性问题就消失了。