首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Markdown中工作的R脚本代码- RStudio挂起

在Markdown中工作的R脚本代码- RStudio挂起
EN

Stack Overflow用户
提问于 2015-11-19 10:48:48
回答 1查看 2.5K关注 0票数 0

有人能帮助我理解有效的r脚本代码如何导致rStudio中的标记文档挂起,并且对我必须终止会话和IDE的点没有响应吗?也不编结任何文件。

背景:

  • 在两台不同的机器上试用,在Windows 7和Windows 10上运行最新的rStudio版本0.99.489和R3.2.2(64位)。
  • 尝试使用packrat来管理包
  • 尝试从项目目录中加载形状文件
  • 尝试从spdep项目下载加载一个不同的形状文件
  • 再次尝试重新安装软件包

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

代码语言:javascript
复制
#Install the GIS packages
install.packages("spdep",dependencies = TRUE)
install.packages("maptools",dependencies = TRUE)
#Load the libraries
library(spdep)
library(maptools)

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

代码语言:javascript
复制
#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标记

代码语言:javascript
复制
---
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.packages("spdep",依赖项= TRUE)

Install.packages(“映射工具”,依赖关系=真)

代码语言:javascript
复制
Load the libraries 
```{r, echo=FALSE}

图书馆(Spdep)

图书馆(地图工具)

代码语言:javascript
复制
See where the library files are stored
```{r}

.libPaths()

代码语言:javascript
复制
Try to Load the Eire shape file but it causes R Studio to hang and become unresponsive 
```{r}

eireMap <- readShapePoly(“C:r/win/3.2/spdep/etc/shapes/eire.shp”1,ID=“name”,proj4string=CRS("+proj=utm +zone=30 +units=km"))

代码语言:javascript
复制
Can't plot the map because the system has hung by this stage
```{r}

地块(EireMap)

姓名(EireMap)

eireMap $names

代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-19 11:27:23

这将允许您在重新安装之前检查包(加载时不显示任何消息)。然后,它使用跨平台的方式获取您需要的shapefile的文件名,然后读取并绘制它。单独的R代码行(即非Rmd )在R控制台和RStudio +Rmd中工作得很好,在我的OS系统和linux系统上都很好。有更优雅的方法来进行包检查/加载,但这将使您能够快速检查系统中是否存在更大的问题。

代码语言:javascript
复制
---
output: html_document
---

```{r echo=FALSE, message=FALSE}

如果(需要(Spdep)) install.packages("spdep",dependencies=TRUE)

如果(!require(maptools)) install.packages(“映射工具”,dependencies=TRUE)

要求(Spdep)

要求(地图工具)

代码语言:javascript
复制
```{r}

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

eireMap <- readShapePoly(eire_shp,ID=“name”)

代码语言:javascript
复制
                     proj4string=CRS("+proj=utm +zone=30 +units=km"))
代码语言:javascript
复制
```{r}

地块(EireMap)

姓名(EireMap)

eireMap$name

代码语言:javascript
复制

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33801736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档