我试图通过rmarkdown
中的绘图方法在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
中生成图。
答案 0 :(得分:0)
问题是函数dev.new()
中存在plot.lordif()
!您可以使用以下方法进行检查:
> 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
要在markdown中实现此目的,您可以添加其他块,而不用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)
```