绘图时rmarkdown中的错误

时间:2017-04-05 06:27:24

标签: r plot r-markdown

我是这个论坛的新手,也是R的新手。 但最近我被介绍到Rstudio中的rmarkdowns并且我已经准备好了一个脚本,它使用一些csv文件来运行一些计算,然后创建一些图表。

脚本如下(附带数据):SE_MACover_Abr2014_40m_CP.csv

```{r prepare the data} 

df <- read.csv(file.choose()) #SE_MACover_Abr2014_40m_CP.csv 

#   call the libraries 

library(ggplot2) 
library(plyr) 
library(reshape2) 

str(df) 
df 

## create factor levels 
df$Stat <-factor(df$Stat, levels = c("SE_Mean", "SE_Min","SE_Max")) 

df$Imgs <- factor(df$Imgs, levels = c("2", "5","10", "20","30", "40", "50",     "60", "70")) 
df$Stat 
df$Imgs 

```{r plot means, mins, and maxs} 
Plot1 <- ggplot(data = df, aes(x = Imgs, y = X, group = Stat)) + 
geom_line(aes(linetype = Stat, colour = Stat), size = 1) + 
geom_point(aes(colour=Stat)) + 
ylab(bquote('Standard Error ')) + 
xlab(bquote('Number of Images')) 
Plot1 

我在R base中尝试了这个并且工作正常,但是Rstudio中的rmarkdown图表没有绘制,它给了我以下错误消息:

错误(函数(filename =“Rplot%03d.png”,width = 480,height = 480,:invalid'filename'

查看追溯它显示以下内容:

  1. 停止(“无效'文件名'”)
  2. (function(filename =“Rplot%03d.png”,width = 480,height = 480,units =“px”,pointsize = 12,bg =“white”,res = NA,family =“sans”, restoreConsole = TRUE,type = c(“windows”,“cairo”,“cairo-png”),antialias = c(“default”,“none”,“cleartype”,“grey”,“subpixel”)).. 。
  3. do.call(what = png,args = args)
  4. .rs.createNotebookGraphicsDevice(filename,height,width,units,pixelRatio,extraArgs)
  5. (function(){。rs.createNotebookGraphicsDevice(filename,height,width,units,pixelRatio,extraArgs)...
  6. grid.newpage()
  7. print.ggplot(x)
  8. function(x,...)UseMethod(“print”)(x)
  9. 我甚至尝试用这段代码绘制最简单的图形:

     x <- c(1,2,3,4,5,6) 
     y <- c(1,2,3,4,5,6) 
     plot(x,y) 
    

    当我试图解决这个问题时,我认为我的脚本存在问题, 有人建议将用于绘图的脚本直接粘贴到控制台中。 我这样做了,它有效! 它在rmarkdown中产生相同的错误,但它在控制台中运行良好..

    我不知道如何解决这个问题,所以我可以运行我的降价文件,它会创建我需要的图表,

    请帮帮我

2 个答案:

答案 0 :(得分:2)

当生成rmarkdown文档时临时路径加上RStudio创建的文件名太长时,通常会出现此问题。在Windows系统上,该长度通常为260个字符,但是确切的长度取决于您的磁盘是否使用FAT,NTFS等进行格式化。请注意,问题是由RStudio创建的临时文件-您通常无法控制这些文件。 / p>

但是,您可以控制rmarkdown文档的路径长度。如果足够短,它将为RStudio留下“空格”以创建临时文件名。

或者,重新启动RStudio通常也可以,尽管在处理rmarkdown文档时,如果再次遇到问题,则必须再次重新启动。

答案 1 :(得分:0)

我有同样的问题,我刚刚意识到这是由于我的Rmd文件的文件名 - 我在名称中使用了%。删除符号后问题消失了。您的Rmd文件的文件名是什么?也许你应该尝试重命名你的文件。