R lordif Rmarkdown - PullRequest
       9

R lordif Rmarkdown

0 голосов
/ 20 октября 2018

Я попытался добавить график в файл rmarkdown из метода plot в lordif.
Вот простой пример:

```{r}

library(lordif) 
data(Anxiety)

age.dif <- lordif(Anxiety[paste("R",1:29,sep="")],Anxiety$age)
plot.lordif(age.dif,labels=c("Younger","Older"),width=8,height=7,cex=0.8,lwd=1)

```

Если вы запустите код наконсоль выдает несколько графиков, но не в rmarkdown.

1 Ответ

0 голосов
/ 20 октября 2018

Проблема в том, что в функции plot.lordif() существует dev.new()!Вы можете проверить это с помощью:

> as.list(body(plot.lordif))

и обнаружить dev.new() прямо в девятой части:

> body(plot.lordif)[[9]]

# if (sysname == "Windows") {
#     dev.new(width = width, height = height, record = TRUE)
# } else if (sysname == "Linux") {
#     dev.new(width = width, height = height)
#     par(ask = TRUE)
# } else {
#     dev.new(width = width, height = height)
# }

dev.new() не позволяет уценке отображать ваши графики.Так что просто избавьтесь от этой части и переопределите функцию.

Вы можете попытаться изменить функцию, настроив тело функции:

> body(plot.lordif)[[9]] <- NULL

Чтобы выполнить это при уценке, выможно добавить дополнительный чанк и не показывать его в документе с помощью echo = FALSE.

```{r echo = FALSE}
library(lordif)
body(plot.lordif)[[9]] <- NULL
```

```{r}
data(Anxiety)
age.dif <- lordif(Anxiety[paste("R",1:29,sep="")],Anxiety$age)
plot.lordif(age.dif,labels=c("Younger","Older"),width=8,height=7,cex=0.8,lwd=1)
```
...