【问题标题】:Plotting with Knitr in Lyx在 Lyx 中使用 Knitr 绘图
【发布时间】:2014-02-18 04:26:48
【问题描述】:

我正在尝试在 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.

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


按照第一个答案,尝试了这个:

定义函数(没那么重要,只是为了说明我如何得到 y)

<<>>=
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”。

【问题讨论】:

    标签: r knitr lyx


    【解决方案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 安装有关。

    【讨论】:

    • 很遗憾,没有用。我仍然收到此错误:“LaTeX 错误:找不到文件‘figure/unnamed-chunk-6.eps.bb’。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    相关资源
    最近更新 更多