用Lyx中的Knitr绘图

时间:2014-02-18 04:26:49

标签: r knitr lyx

我正试图在Lyx中使用Knitr。我跑的时候

<<>>=
install.packages("ggplot2")
library(ggplot2)
qplot(y=y, x=1:1000, main = 'Log-Likelihood')
@

我收到错误

LaTeX Error: File `figure/unnamed-chunk-6.eps.bb' not found.

我尝试在起始括号中包含扩展名,但没有成功。我如何得到我的情节?


在第一个回答后,尝试了这个:

定义功能(不重要,只是为了表明我是如何得到的)

<<>>=
exp.loglik <- function(lambda, obs){   
    xbar = mean(obs)   
    return(length(obs)*log(lambda)-lambda*xbar) 
}
@

定义y(不重要,但仅包括显示y的定义)

<<>>=
y = rep(NA,1000) 
for (i in 1:1000){   
    y[i] = exp.loglik(lambda=i/10000, obs=diet_data$survtime)   
}
@

运行的代码然后发生错误(请注意我按照指示在纯R中安装了包)

<<warning=FALSE, message=FALSE, echo=FALSE>>=
library(ggplot2)
qplot(y=y, x=1:1000, main = 'Log-Likelihood')
@

相同错误:LaTeX错误:找不到文件`figure / unnamed-chunk-6.eps.bb'。

1 个答案:

答案 0 :(得分:1)

首先,单独安装软件包,只在纯R中运行install.packages 其次,您没有定义y

这是一个最小的例子,它可以生成一个没有显示R代码,警告或消息的图:

<<warning=FALSE, message=FALSE, echo=FALSE>>= 
library(ggplot2) 
qplot(y=10:1, x=1:10, main = 'Log-Likelihood') 
@

修改

我正在运行以下代码:

<<>>= 
exp.loglik <- function(lambda, obs) {        
  xbar = mean(obs)        
  return(length(obs)*log(lambda)-lambda*xbar)  
}
@

<<>>= 
y = rep(NA,5)  
for (i in 1:5) {        
  y[i] = exp.loglik(lambda=i/5, obs=runif(5))    
} 
@

<<warning=FALSE, message=FALSE>>= 
library(ggplot2) 
qplot(y=y, x=1:5, main = 'Log-Likelihood') 
@

我得到了一张照片。你的代码是干净的R吗?只需重新运行它以确保它是。如果一切正常,那么它可能是LATEX / knitr安装的东西。