Вязание R markdown (с функцией plot ()) в PDF выдает ошибку

#r #r-markdown #knitr

#r #r-markdown #knitr

Вопрос:

При вязании RMD в PDF я получаю следующую ошибку:

 Quitting from lines 47-76 (ABC.Rmd) 
Error in (function (file = if (onefile) "Rplots.pdf" else "Rplotd.pdf",  : 
  cannot open file '~/Read and visualize the "governorate" shapefile-1.pdf'
 

Если я попытаюсь увидеть, что это работает для HTML, то я получу следующую ошибку:

 Quitting from lines 47-76 (ABC.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: In png(..., res = dpi, units = "in") :
  unable to open file '~/Read and visualize the "governorate" shapefile-1.png' for writing
2: In png(..., res = dpi, units = "in") : opening device failed
 

Теперь я не знаю, связано ли это с функцией plot, поскольку я никогда не получаю эту ошибку с помощью «ggplot»

 ```{r Read and visualize the "governorate" shapefile, echo = FALSE}
# Import the Iraqi regions shapefile
Iraq_Regions =  readOGR(dsn = "~/governorates.shp")
# Import the Baghdad neighborhood shapefile 
Baghdad_Neigh = readOGR(dsn = "~/baghdad_neighborhoods.shp")
# Plot the Wiki Leaks data frame
plot(x=Wiki_Leaks$Longitude, y=Wiki_Leaks$Latitude, pch=20, col='red', cex=0.4)
plot(Iraq_Regions, border='blue', add=T)
plot(Baghdad_Neigh, border='yellow', add=T)

# Merge neighborhoods to make the Baghdad city outline
Greater_Baghdad <- gUnaryUnion(Baghdad_Neigh)

# Plot the shapefiles 
plot(x=Wiki_Leaks$Longitude, y=Wiki_Leaks$Latitude, pch=20, col='red', cex=0.4)
plot(Iraq_Regions, border='blue', add=T)
plot(Greater_Baghdad, border='yellow', add=T)

# view the names of different regions and the numbers of records in each region
#table(Wiki_Leaks$Region)

# Retrieve all events near Baghdad
Wiki_Leaks_MND_N_df = Wiki_Leaks[Wiki_Leaks$Region == "MND-N", ]

# Now make a basic plot
plot(x = Wiki_Leaks_MND_N_df$Long, y = Wiki_Leaks_MND_N_df$Lat,
     pch = 20, col = 'red', cex = 0.4,
     ylab = "Longitude", xlab = "Latitude", 
     main = "Death Events in Baghdad Neihborhood MND-N")

```
 

Комментарии:

1. Удаление "governorate" что-нибудь меняет?

2. Да, это сработало, ура. Можете ли вы объяснить, почему это стало причиной ошибки в ответе? а также теперь я получаю сообщение об ошибке Latex: Ошибка: LaTeX не удалось скомпилировать ~.tex. Видишь yihui.org/tinytex/r/#debugging для получения советов по отладке. Кроме того: Предупреждающее сообщение: В system2(…, stdout = if (use_file_stdout()) f1 else FALSE, stderr = f2): ‘»pdflatex»‘ не найден, выполнение остановлено. Хотя у меня установлены «tinytex» и «MikTeK».

3. У меня это заработало после выполнения tinytex::install_tinytex(), так что не могли бы вы, пожалуйста, объяснить ошибку, вызванную «губернаторством» в вашем ответе?

Ответ №1:

Вам необходимо удалить знаки препинания при присвоении имен фрагментам кода, которые будут использоваться для присвоения имен вашим файлам (например, дополнительная информация здесь).

В вашем случае удаление "governorate" решит проблему.