Проблема в том, что в функции 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)
```