为什么针对这个简单的cor.test的内联代码编织失败?

时间:2015-07-17 14:10:52

标签: r knitr

我正在准备一个编织为PDF的.Rmd文档(尽管我将描述的错误也会编织为html)。

接下来是一个块,然后是两个带有内嵌代码的短段落。 在块中,我设置了两个简单变量(anyo和tasa),以便稍后报告相关性cor()和相关性测试cor.test()统计信息,如下所示:

```{r}
#la variable independiente ("X") sea año:
(anyo <- c(1960, 1970, 1975, 1980, 1985, 1990, 1995, 1997, 2000, 2003, 2005))
# y la variable de respuesta, la dependiente Y, sea tasa
(tasa <- c(26, 20.7, 17.2, 14.1, 12.6, 10.8, 9.2, 7.6, 6.9, 6.9, 6.2))
e2.prCor <- cor.test(anyo, tasa)
e2.prCor$p.value
```

a) Probar la significancia de la correlación entre las dos variables  
La correlación entre las variables `anyo` y `tasa` es 
`r round(cor(anyo, tasa),3)` (Pearson's product-moment correlación).
Podemos probar la correlación así, contra una hipótesis nula (implícita)
de ninguna correlación:  ` (e2.prCor <- cor.test(anyo, tasa))`  

Resulta que la correlación `r round(cor(anyo, tasa), 3)` es significativamente 
negativa (t=`r round(e2.prCor$statistic, 3)`, p = ` e2.prCor$p.value`),
con intervalos de confianza de 95% de (`r round(e2.prCor$conf.int[1],3)`,
`r round(e2.prCor$conf.int[2],3)`) 

在块的末尾,我添加了两行代码,如果我将它们作为内联代码包含在内,导致编织操作失败,但是在块内部是很好的。要确认,上面包含的代码执行正常,但是,如果我在其内联上下文中激活最后两行中的任何一行(我已从 r <之前删除了(e2.prCor <- cor.test(anyo, tasa)) / strong>和 e2.prCor$p.value )。它们可以在日照下执行,但编织操作失败,并出现以下各自的错误:

激活 (e2.prCor <- cor.test(anyo, tasa)) 会导致: error1

而激活 e2.prCor$p.value 会导致: error2

鉴于命令在块中工作,并且对cor.test对象的元素的其他调用在线工作,我有点难过。我认为它必须是愚蠢的或有趣的。

你能帮忙吗?

  • 请注意,Pearson's中的撇号后面的颜色会发生变化,只会出现在SO中,而不会出现在我的计算机上。

1 个答案:

答案 0 :(得分:0)

似乎第二种错误类型是在线呈现指数表示法。

在git中可以找到解决此问题以及其他一些科学记数问题here作为已知且已解决的问题。

解决方法涉及用$ $包围r e2.prCor$p.value来电。在修改之后,文档编织为我的目的很好,并呈现如下:

rendered content with p.value call activated

然而,由于在线激活cor.test()元素而导致的第一个错误未得到解决。