Knitr提供的结果与RStudio不同

时间:2016-03-30 02:29:06

标签: r knitr rweka

我正在使用&t;'做一些初始文本挖掘。和' RWeka'使用Knitr进行再现性。

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

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

同意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

```

  

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

     

区域设置:   [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

1 个答案:

答案 0 :(得分:3)

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

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

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