有效的 R 脚本代码在 Markdown 中不起作用 - RStudio 挂起

Working R script code not working in Markdown - RStudio hangs

有人可以帮助我了解有效的 r 脚本代码如何导致 rStudio 中的 markdown 文档挂起并变得无响应,以至于我必须终止会话和 IDE?也不编文件

背景:

R 脚本 获取所需的库并加载它们

#Install the GIS packages
install.packages("spdep",dependencies = TRUE)
install.packages("maptools",dependencies = TRUE)
#Load the libraries
library(spdep)
library(maptools)

这在 R 中有效(您需要在系统上为形状文件获取正确的位置)

#See where the library files are stored
.libPaths() 
#Load the Eire shape file which came in spdep package using the readShapePoly function from maptools (needed to change the slashes from windows to those supported in R)
eireMap <- readShapePoly("C:R/3.2/spdep/etc/shapes/eire.shp"[1],ID="names", proj4string=CRS("+proj=utm +zone=30 +units=km"))
#Plot the map as there was no problem reading the shape file correctly in R script
plot(eireMap)

R Markdown

---
title: "GIS using R"
author: "Me"
date: "18 November 2015"
output: word_document
---

This is an R Markdown document of the R worksheet for GIS. Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code contained in that snippet

```{r, echo=FALSE}
#Install the packages if not done already
install.packages("spdep",dependencies = TRUE)
install.packages("maptools",dependencies = TRUE)
```

Load the libraries 
```{r, echo=FALSE}
library(spdep)
library(maptools)
```


See where the library files are stored
```{r}
.libPaths() 
```

Try to Load the Eire shape file but it causes R Studio to hang and become unresponsive 
```{r}
eireMap <- readShapePoly("C:R/win-  library/3.2/spdep/etc/shapes/eire.shp"[1],ID="names", proj4string=CRS("+proj=utm +zone=30 +units=km"))
```

Can't plot the map because the system has hung by this stage
```{r}
plot(eireMap)
names(eireMap)
eireMap $names
```

这将让您在重新安装之前检查软件包(并且在加载它们时不显示任何消息)。然后它使用跨平台的方式获取您需要的 shapefile 的文件名,然后读取并绘制它。单独的 R 代码行(即非 Rmd)在 R 控制台和 RStudio 中运行良好 + Rmd 在我的 OS X 系统和 linux 系统上运行良好。有更优雅的方法来完成这个包 check/load 但这会让你快速检查你的系统是否有更大的问题。

---
output: html_document
---

```{r echo=FALSE, message=FALSE}
if (!require(spdep)) install.packages("spdep",dependencies=TRUE)
if (!require(maptools)) install.packages("maptools",dependencies=TRUE)
require(spdep)
require(maptools)
```

```{r}
eire_shp <- system.file("etc/shapes/eire.shp", package="spdep")

eireMap <- readShapePoly(eire_shp, ID="names", 
                         proj4string=CRS("+proj=utm +zone=30 +units=km"))
```

```{r}
plot(eireMap)
names(eireMap)
eireMap$names
```