2015-12-07 11 views
6

के साथ rmarkdown त्रुटि मैंने rmarkdown में ggplot के साथ एक चार्ट बनाने के लिए (व्यर्थ में) कोशिश की है।ggplot और png

```{r,echo=FALSE} 
#fig.width=12,fig.height=6 
panel2$PlotSize<-round(log(panel2$BSFA0200),0)- min(round(log(panel2$BSFA0200),0))+1# set size of dots 
panel2$PlotSize[panel2$PlotSize==-Inf]<-NA 
panel2$PlotColour<-ifelse(panel2$PlotSize<7,1,panel2$PlotSize) 
panel2$PlotSize<-as.factor(panel2$PlotSize) 
panel2$PlotColour<-as.factor(panel2$PlotColour) 

g1<-ggplot(data=panel2,aes(x=NFR,y=PROF7*100,size=PlotSize,colour=PlotSize))+ geom_point() 

g1 

``` 

आउट निट के इस काम करता है ठीक है, लेकिन जब एक RMD फ़ाइल के भीतर निष्पादित (या तो HTML या पीडीएफ के रूप में) मैं हमेशा मिलता है यह त्रुटि संदेश

processing file: 1Profti_model.Rmd 
    |..                | 4% 
    ordinary text without R code 

    |.....               | 8% 
label: setup (with options) 
List of 1 
$ include: logi FALSE 

    |........               | 12% 
    ordinary text without R code 

    |..........              | 15% 
label: unnamed-chunk-1 (with options) 
List of 3 
$ echo : logi FALSE 
$ warning: logi FALSE 
$ message: logi FALSE 


Attaching package: 'dplyr' 

The following objects are masked from 'package:stats': 

    filter, lag 

The following objects are masked from 'package:base': 

    intersect, setdiff, setequal, union 

Loading required package: zoo 

Attaching package: 'zoo' 

The following objects are masked from 'package:base': 

    as.Date, as.Date.numeric 

    |............              | 19% 
    inline R code fragments 

    |...............             | 23% 
label: unnamed-chunk-2 (with options) 
List of 1 
$ echo: logi FALSE 

    |..................            | 27% 
    ordinary text without R code 

    |....................            | 31% 
label: unnamed-chunk-3 (with options) 
List of 1 
$ echo: logi FALSE 

Quitting from lines 98-109 (1Profti_model.Rmd) 
Error in png(..., res = dpi, units = "in") : unable to start png() device 
Calls: <Anonymous> ... in_dir -> plot2dev -> do.call -> <Anonymous> -> png 
In addition: Warning messages: 
1: Removed 55 rows containing missing values (geom_point). 
2: In png(..., res = dpi, units = "in") : 
    unable to open file '1Profti_model_files/figure-html/unnamed-chunk-3-1.png' for writing 
3: In png(..., res = dpi, units = "in") : opening device failed 

Execution halted 

मैं भी: कोड पीछा कर रहा है चार्ट को एक पीएनजी में सहेजकर समस्या को हल करने की कोशिश की और इसे बाद में तस्वीर के रूप में लोड करें। इसके अलावा कोई परिणाम (Error with loading png in Rmd file देखें)

आपकी मदद

अद्यतन के लिए धन्यवाद:

तुम लोगों में से कुछ मैं एक अलग हिस्सा नाम जोड़ा से सुझाव के बाद और मैं अपने डेटा पर Davit से कोड दोहराया (अद्यतन कोड देखें)। दुर्भाग्यवश त्रुटि अभी भी वहां है। दिलचस्प बात यह है कि, knitr एक पीएनजी नहीं लिख सकता है लेकिन एक ही फ़ोल्डर में एक सीएसवी लिख सकता है जहां कोड है (मैंने इसका परीक्षण किया)।

अंत में, मैंने अपने सी ड्राइव पर यह वही कोड चलाने का परीक्षण किया और (आश्चर्य!) यह काम करता है। हालांकि, यह मेरे लिए बहुत कुशल नहीं है क्योंकि मैं एक विशिष्ट मशीन पर निर्भर नहीं होना चाहता हूं और मुझे इस काम को दूसरों के साथ साझा करने की आवश्यकता है (इसलिए नेटवर्क ड्राइव जरूरी है)। इसके अलावा, नेटवर्क ड्राइव में अन्य सभी पैकेज/कोड ठीक काम करते हैं, केवल यह पीएनजी() एक मुद्दा प्रतीत होता है।

आपकी मदद के लिए अग्रिम धन्यवाद! --- शीर्षक: नया दस्तावेज़ लेखक: मेरे उत्पादन: html_document ---

```{r prova,echo=FALSE, results='asis', message = FALSE, error = FALSE, warning= FALSE} 
#.libPaths("D:/xxxx/packages") 
require(ggplot2) 

panel2 <- data.frame(BSFA0200 = rnorm(100), 
         NFR = rnorm(100), 
         PROF7 = rnorm(100)) 

panel2$PlotSize<-round(log(panel2$BSFA0200),0)- min(round(log(panel2$BSFA0200),0))+1# set size of dots 
panel2$PlotSize[panel2$PlotSize==-Inf]<-NA 
panel2$PlotColour<-ifelse(panel2$PlotSize<7,2,panel2$PlotSize) 

write.csv(panel2[1:100,c('BSFA0200',"NFR","PROF7")],file="test.csv") 

g1 <- ggplot(data = panel2, 
      aes(x = NFR, 
       y = PROF7 * 100, 
       size = factor(PlotSize), 
       colour = factor(PlotSize) 
       )) 

g1 + geom_point() 

``` 

त्रुटि आउटपुट:

Loading required package: ggplot2 

Quitting from lines 9-32 (test.Rmd) 
Error in png(..., res = dpi, units = "in") : unable to start png() device 
Calls: <Anonymous> ... in_dir -> plot2dev -> do.call -> <Anonymous> -> png 
In addition: Warning messages: 
1: Removed 35 rows containing missing values (geom_point). 
2: In png(..., res = dpi, units = "in") : 
    unable to open file 'test_files/figure-html/prova-1.png' for writing 
3: In png(..., res = dpi, units = "in") : opening device failed 
Execution halted 

मेरे knitr संस्करण है 1.11 (यह नवीनतम होना चाहिए) और आर संस्करण 3.2.2

> R.Version() 
$platform 
[1] "i386-w64-mingw32" 

$arch 
[1] "i386" 

$os 
[1] "mingw32" 

$system 
[1] "i386, mingw32" 

$status 
[1] "" 

$major 
[1] "3" 

$minor 
[1] "2.2" 

$year 
[1] "2015" 

$month 
[1] "08" 

$day 
[1] "14" 

$`svn rev` 
[1] "69053" 

$language 
[1] "R" 

$version.string 
[1] "R version 3.2.2 (2015-08-14)" 

$nickname 
[1] "Fire Safety" 
+1

रैंकडाउन टैब में दाईं ओर दाईं ओर दो छोटे टैब, 'आउटपुट' और 'समस्याएं' हैं। मुद्दों के तहत यह क्या कहता है? आपके पास किस तरह की फाइल अनुमतियां हैं? – rawr

+1

क्या यह विशेष रूप से 'ggplot' है जो समस्या पैदा कर रहा है? क्या आप बेस प्लॉट बुना सकते हैं? क्या आपके पास शायद फ़ोल्डर में लेखन पहुंच नहीं है? – Axeman

+0

@rawr समस्या में संदेश है: पीएनजी में त्रुटि (..., res = dpi, इकाइयां = "इन"): पीएनजी() डिवाइस शुरू करने में असमर्थ कॉल: ... in_dir -> plot2dev -> do.call -> -> png। इसके अतिरिक्त: चेतावनी संदेश: 1: पीएनजी में (..., res = dpi, इकाइयां = "इन"): लेखन के लिए फ़ाइल 'XXXX/figure-html/unnamed-chunk-3-1.png' खोलने में असमर्थ। 2: पीएनजी (..., res = dpi, इकाइयों = "में"): ओपनिंग डिवाइस विफल रहा – Dani

उत्तर

1

मेरे पास यह सैम था ई मुद्दे एक बार। नीचे दिया गया कोड काम करता है। आपके पास या तो खराब हेडर था या पैकेज को कॉल नहीं किया था: यह कहना मुश्किल है क्योंकि आपने वह जानकारी प्रदान नहीं की है। इसके अलावा, कृपया अगली बार उदाहरण डेटा पोस्ट करें।

यहां पूरा कोड है जो (कम से कम मेरे लिए) काम करता है। यदि यह आपकी मशीन पर नहीं चलता है, तो अपना डेटा और पूर्ण आरएमडी स्क्रिप्ट पोस्ट करें और मैं मदद करने की कोशिश करूंगा।

--- 
title: New Document 
author: Me 
output: 
    html_document 
--- 

```{r,echo=FALSE, results='asis', message = FALSE, error = FALSE, warning= FALSE} 
require(ggplot2) 

panel2 <- data.frame(BSFA0200 = rnorm(100), 
         NFR = rnorm(100), 
         PROF7 = rnorm(100), 
         PlotSize = factor(rep(1:10, 10)), 
         PlotColour = factor(1:100)) 

g1 <- ggplot(data = panel2, 
      aes(x = NFR, 
       y = PROF7 * 100, 
       size = PlotSize, 
       colour = PlotSize)) 

g1 + geom_point() 
``` 

enter image description here

1

मैं भी इस संदेश को मिला है। मेरे साथ परेशानी यह थी कि फ़ाइल पथ बहुत लंबा था। मेरे पास बहुत सारे उप फ़ोल्डरों में मेरी आर मार्कडाउन फ़ाइल थी और मेरी आर मार्कडाउन फ़ाइल का नाम बहुत लंबा था। एक बार जब मैंने फ़ाइल पथ की लंबाई कम कर दी, तो समस्या हल हो गई। मुझे उम्मीद है कि आपके लिए काम करता है।