编织pdf时isIncomplete(con)错误

时间:2016-12-29 03:56:36

标签: rstudio knitr

我可以在控制台中从SWSamp包中运行以下示例脚本,但是我得到了一个" isIncomplete(con)"编织为PDF时出错。这个软件包需要使用至少2个核心,我想知道这个连接错误是否与尝试并行运行有关。

---
title: "Test"
output: pdf_document
---

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

```{r}
  install.packages("http://www.statistica.it/gianluca/SWSamp/SWSamp_0.3.tar.gz", type="source", dependencies=TRUE, repos=NULL)
  library(SWSamp)
```

```{r}
  mu1=0.3
  b.trt=-0.3875
  sigma.e=1.55
  J=5
  K=20
  sig.level=0.05
  n.sims=10
  rho=0.5
  pow.cont <- sim.power(I=14, J=J, H=NULL, K=K, rho=rho, mu=mu1, sigma.e=sigma.e,
                        b.trt=b.trt, formula=NULL, n.sims=n.sims, 
                        sig.level=sig.level, n.cores=2)
  pow.cont$power
```
  

退出第16-28行(test.Rmd)isIncomplete(con)中的错误:   无效连接呼叫:... evaluate_call - &gt;   handle_output - &gt; - &GT;是完全从第16-28行退出   (test.Rmd)isOpen(con)中的错误:无效的连接调用:    ... in_dir - &gt;评估 - &gt; evaluate_call - &gt; - &GT;   close.connection(con)中的isOpen错误:无效的连接调用:     - &GT; - &GT;关闭 - &gt; close.connection执行   停止

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Sierra 10.12.1

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

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] SWSamp_0.3     lme4_1.1-12    Matrix_1.2-7.1

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.8       knitr_1.15.1      magrittr_1.5      splines_3.3.2     MASS_7.3-45      
 [6] doParallel_1.0.10 lattice_0.20-34   foreach_1.4.3     minqa_1.2.4       stringr_1.1.0    
[11] tools_3.3.2       parallel_3.3.2    grid_3.3.2        nlme_3.1-128      htmltools_0.3.5  
[16] iterators_1.0.8   yaml_2.1.14       rprojroot_1.1     digest_0.6.10     nloptr_1.0.4     
[21] codetools_0.2-15  evaluate_0.10     rmarkdown_1.3     stringi_1.1.2     compiler_3.3.2   
[26] backports_1.0.4

1 个答案:

答案 0 :(得分:2)

sim.power()函数运行closeAllConnections(),根据此SO answer干扰knitr。这个答案中的解决方案是用引号和evaluate()函数包装表达式,但它对我不起作用。

作为临时解决方案,我重新定义了sim.power()函数,其中closeAllConnections()调用已注释掉。我不知道这是否有不良影响,但似乎适合我。很高兴接受更好的答案。