Skip to content

[R-es] Problemas para delimitar chunks con la fucnción spin en el paquete knitr

7 messages · Manuel Spínola, Carlos Ortega

#
Estimados miembros de la lista,

Estoy trabajando con la función spin del paquete knitr y no puedo entender
por que a pesar de usar #+ para iniciar cada chunk no reconoce el inicio de
un nuevo chunk al menos que incluya texto entre cada inicio de chunk.  En
el ejemplo abajo

#+
data(cars)

#+
cars

No los separa como 2 chunks diferentes

Ejemplo de mi archivo en r (prueba.R)
---------------------------------------------------------

#' Traer datos

#+
data(cars)

#+
cars

#' Gráfico

#+
plot(cars$speed, cars$dist)

------------------------------------------------------------------

El documento R markdown (prueba.Rmd) se ve así,

Traer datos

```{r }
data(cars)

```{r }
cars
```

Gráfico

```{r }
plot(cars$speed, cars$dist)
```

Como pueden ver entre data(cars) y cars no hay una separación en 2 chunks
diferentes, o por lo menos como yo lo esperaría.
#
Hola,

¿Qué versión estás usando de knitr?.


He probado spin() sobre este script:
https://github.com/yihui/knitr/blob/master/inst/examples/knitr-spin.R

Y ha funcionado perfectamente.

En el script he incluido tus líneas de "data(cars)" y "cars" y tanto en el
html y como en el .md los chunks salen separados....

La versión que tengo instalada de knitr es la 1.14.

Saludos,
Carlos Ortega
www.qualityexcellence.es



El 28 de agosto de 2016, 16:16, Manuel Spínola <mspinola10 en gmail.com>
escribió:

  
    
#
Muchas gracias Carlos.

Tengo la versión de knitr 1.14

Corrí el ejemplo que me dices y resulta en lo mismo, no se crean chunks
diferentes.  Parece que para separar chunks se debe incluir #'

Por ejemplo, estas 2 líneas de códigos del ejemplo:

#+ test-chisq5
sum(x^2) # chi-square distribution with df 5
#+ test-chisq4
sum((x - mean(x))^2) # df is 4 now

Dan como resultado en el Rmd (todo queda dentro del mismo chunk):

```{r test-chisq5}
sum(x^2) # chi-square distribution with df 5
```{r test-chisq4}
sum((x - mean(x))^2) # df is 4 now
```
Yo hubiera pensado que el resultado fuera algo así (2 chunks
independientes):

```{r test-chisq5}
sum(x^2) # chi-square distribution with df 5
```

```{r test-chisq4}
sum((x - mean(x))^2) # df is 4 now
```

El 29 de agosto de 2016, 3:42, Carlos Ortega <cof en qualityexcellence.es>
escribió:

  
    
#
Hola,

A mí me quedan separadas (en el .md), junto con los resultados.
A mi *no* me genera un ".Rmd" si no un ".md", además de un ".html".

En tu caso, tampoco parece que se generen los resultados de cada chunk, ¿es
así?...

Incluyo también las dos líneas que te comentaba que había incluido de tu
ejemplo, que también aparecen separadas:


And you can also write two chunks successively like this:


```r
sum(x^2) # chi-square distribution with df 5
```

```
## [1] 2.818373
```

```r
sum((x - mean(x))^2) # df is 4 now
```

```
## [1] 2.631026
```

```r
data(cars)
```

```r
cars
```

```
##    speed dist
## 1      4    2
## 2      4   10
## 3      7    4
## 4


No sé si entonces tiene que ver con la versión de "R" o la versión de
rmarkdown.
Yo tengo la versión
_
platform       x86_64-apple-darwin13.4.0
arch           x86_64
os             darwin13.4.0
system         x86_64, darwin13.4.0
status
major          3
minor          3.1
year           2016
month          06
day            21
svn rev        70800
language       R
version.string R version 3.3.1 (2016-06-21)
nickname       Bug in Your Hair


Y para rmarkdown tengo la versión 1.0.

Saludos,
Carlos Ortega
www.qualityexcellence.es



El 29 de agosto de 2016, 14:58, Manuel Spínola <mspinola10 en gmail.com>
escribió:

  
    
#
Muchas gracias Carlos.

Tengo las mismas versiones pero no logro separar los chunks cuando uso #+,
pero si lo logro cuando uso #".  Mi script es spin("prueba.R", knit =
FALSE) y si me hace un Rmd.

#+
a = c(1,2,3)
#+
mean(a)

Ejecuto,
y obtengo un prueba.Rmd

```{r }
a = c(1,2,3)
```{r }
mean(a)
```

Pero si escribo:

#'
a = c(1,2,3)
#'
mean(a)

Ejecucto,
Obtengo,

```{r }
a = c(1,2,3)
```


```{r }
mean(a)
```


El 29 de agosto de 2016, 17:45, Carlos Ortega <cof en qualityexcellence.es>
escribió:

  
    
#
Hola,

Obtengo el mismo resultado que tú.
En las ayudas no da ninguna indicación de que esa sea la forma, pero si te
funciona...

Yo lo reportaría: https://github.com/yihui/knitr/issues

Ya he visto que has incluido la pregunta en stackoverflow.

Saludos,
Carlos Ortega
www.qualityexcellence.es

El 30 de agosto de 2016, 2:54, Manuel Spínola <mspinola10 en gmail.com>
escribió:

  
    
#
Muchas gracias Carlos.

Si incluí una versión en inglés de mi pregunta en Stackoverflow.  Veamos
que responden.

Manuel

El 30 de agosto de 2016, 2:25, Carlos Ortega <cof en qualityexcellence.es>
escribió: