2017-06-02 2366 views
0

我是R編程新手,當我嘗試運行代碼時遇到了此錯誤。這只是創建一個包含一些數據的餅圖。任何人都可以向我解釋爲什麼我得到這個錯誤,它是什麼意思?dev.off()中的錯誤:無法關閉設備1(空設備)

1)我運行Windows 2)版本3.4.0 3)我使用RGUI桌面 4)R版本3.4.0

# Create data for the graph. 
x <- c(21, 62, 10, 53) 
labels <- c("London", "New York", "Singapore", "Mumbai") 

# Give the chart file a name. 
png(file = "city_title_colours.jpg") 

# Plot the chart with title and rainbow color pallet. 
pie(x, labels, main = "City pie chart", col = rainbow(length(x))) 

# Save the file. 
dev.off() 
+0

1)什麼操作系統是您使用(Windows,Mac OS X,Linux)? 2.)你正在運行什麼版本的RStudio(打開RStudio,轉到幫助>關於RStudio)? 3.)您是否使用RStudio桌面版或服務器版(您是從已安裝的應用程序還是從網絡瀏覽器運行它)? 4.)你安裝了什麼版本的R(在R控制檯中輸入'version'和'sessionInfo()'命令)? – Masoud

+0

是的,只有一次。我每次都運行整個腳本,這就是出現的內容 – Andrew

+0

當你在'pie(...)'之後執行'dev.cur()'時,你會得到什麼?你是否試圖關閉R並再次打開它,然後運行代碼?錯誤是否持續? – 2017-06-02 21:49:13

回答

0

原來,這個唯一的問題是與文件正試圖保存到的位置。我改變了代碼保存到不同的目錄和它工作得很好

1

嘗試

while (!is.null(dev.list())) dev.off() 
0

在我的情況該錯誤的原因也相當愚蠢的。在任何情況下,運行到同一個問題...

dev.off 

將導致:

function (which = dev.cur()) 
{ 
    if (which == 1) 
     stop("cannot shut down device 1 (the null device)") 
    .External(C_devoff, as.integer(which)) 
    dev.cur() 
} 
<bytecode: 0x0000000028e62bd8> 
<environment: namespace:grDevices> 

不要忘記功能括號:

dev.off()