Questions tagged «r»

统计计算语言和软件环境。

2
如何使用ggmap创建丹麦地图
我已经安装了以下两个软件包: library(ggmap) library(maps) 我在网上找到了创建世界地图的代码(请参见下文)。如何在国家/地区级别上放大图?例如,丹麦。 ggplot()+ borders("world", colour="gray50", fill="gray50")
14 r  ggplot2  ggmap 

2
使用R将点聚集到网格
我对R中的空间聚合有一个疑问。我想做的是将点数据集聚合到网格中。但是我不确定如何执行此操作,因为我对此类材料缺乏经验。我希望你们中的每个人都可以得到一些有用的指导/可能的解决方案。 我的优势是一个包含有关非洲冲突事件的地理参考数据的数据集(请参见www.acleddata.com)。这些点通过纬度/经度坐标进行地理参考,并包含有关事件类型和时间的数据。我想要做的是将这些点聚合到1x1度的网格中。 因此,如果某个事件发生在该网格单元中,则该网格单元应包含数据点的信息。最终的结果应该是数据框或可以导出到csv文件的东西,因为该数据打算用于面板数据集中以进行统计分析。 到目前为止,我已使用以下代码加载并绘制了数据和shapefile。我相信我应该使用sp包中的over函数进行聚合,但是我不知道如何做。希望你们中的一个能提供帮助。 我至今使用的代码,可以发现这里有超过相应的视觉效果存在。 也欢迎在QGIS中提出此建议。
14 raster  r  point  aggregation 

2
将空间对象裁剪到R中的边界框
给定R中的Spatial对象,我如何裁剪其所有元素以使其位于边界框中? 我想做两件事(理想情况下,我会做这两种事情,但是对我当前的问题来说,这都是可以接受的解决方案-将多边形shapefile限制在美国本土)。 将每个元素都未完全放入边界框中。 这似乎bbox()<-是合乎逻辑的方法,但是不存在这种方法。 进行真正的裁剪操作,以使非无限小元素(例如,多边形,直线)在边界处被切除。 sp::bbox缺少赋值方法,所以我想出的唯一方法是将over或gContains/ gCrosses与包含带有新边界框坐标的框的SpatialPolygons对象结合使用。然后,在剪切多边形对象时,您必须找出包含的对象与交叉对象,并更改这些多边形的坐标,以使其不会超出框。或类似的东西gIntersection。但是肯定有更简单的方法吗? 虽然我知道边界框存在很多问题,并且通常最好在定义感兴趣区域的多边形上进行空间覆盖,但在许多情况下,边界框可以正常工作并且更简单。
14 r  clip  extents 

2
在R中的地图上绘制条形图?
我使用的是plotrix在R绘制美国的一个州级地图。它具有出色的功能,floating.pie可以将饼图放在每个状态上。 我想知道plotrix软件包中是否有类似功能可以在每种状态下显示条形图?(我看了一下文档,处理条形图的功能似乎没有这种可能性,但是我只是想确定一下。)如果可能,我更喜欢在plotrix包中工作,但可以随意命名其他套餐。 举例来说,我将有兴趣制作与此类似的地图(但针对美国): 对于我的美国地图,将有50个条形图,每个州一个。 我从/programming/20465070/barplots-on-a-map上获得了这张地图,但是ggsubplot似乎不适用于我的R版本(类似于其他人在帖子中所说的内容) )。
14 r  statistics  chart 

4
使用R或Python将大栅格转换为折线的最快方法?
我有一个很大的栅格文件(129600 x 64800像素),其中包含全球水域(1位值0和1),并尝试提取海洋和内陆水岸线。 我曾尝试使用ArcGIS和QGIS将栅格从栅格转换为折线,但是这需要花费一定的时间。 有谁知道更好/更快的方式(Python或R)或更好的工具来完成此任务? 更新资料 R:rasterToContour可能是快速而精确的,但是如果您有一个非常大的数据集(如我的(8,398,080,000像素)),则需要非常大量的RAM(超过16GB),或者强制R在硬盘驱动器上进行更多处理,也将需要一段时间。 Python / GDAL:gdal_poligonize创建多边形而不是折线 更新2 R rasterToContour:rasterToContour不提供所需的结果。与ArcGIS(栅格到多边形,然后要素到线)相比,它没有提取确切的像素轮廓,如以下示例所示。 rasterToContour结果 ArcGIS结果 更新3 Python / GDAL:我已经在命令行上在测试数据集上针对ArcGIS运行gdal_polygonize,结果非常清晰: gdal:49秒 ArcGIS:1.84秒
14 python  r  performance 

2
R中的SpatialPointsDataFrame属性和运算符
我已经SpatialPointsDataFrame使用spR中的包创建了一个类型为对象的对象。但是,对于@, $, . and []操作符以及何时使用它们来访问对象的不同属性,我感到困惑。这是我的示例代码: library(sp) library(rgdal) #creating a SpatialPointsDataFrame with sample points in UTM x <- c(15.2, 15.3, 15.4, 15.5, 15.7) y <- c(50.4, 50.2, 50.3, 50.1, 50.4) v1 <- c(1.0, 2.0, 3.0, 4.0, 5.0) v2 <- c("a","b","b","c","a") attributes <- as.data.frame(cbind(v1,v2)) xy <- cbind(x,y) locationsDD <- SpatialPointsDataFrame(xy, attributes) proj4string(locationsDD) …
14 r  syntax 

2
QGIS 3.0中的R脚本?
似乎QGIS 3.0中的“处理”选项不再包含R脚本(它们未随SAGA,GRASS和GDAL一起列出。)这是此版本的QGIS的更改还是我的安装有问题?
13 qgis  r  qgis-3 

2
如何在不进行插值的情况下从不规则点数据制作RASTER
我试图从不规则间隔的点数据库制作光栅图像。数据看起来像- > head(s100_ras) x y z 1 267573.9 2633781 213.29545 2 262224.4 2633781 69.78261 3 263742.7 2633781 51.21951 4 259328.4 2633781 301.98413 5 264109.8 2633781 141.72414 6 255094.8 2633781 88.90244 我想在我创建的网格中使用这些“ z”值 # Create a fine mesh grid my_mesh=expand.grid(seq(min(s100_ras$Y),max(s100_ras$Y),l=100), seq(min(s100_ras$X),max(s100_ras$X),l=100)) 我还希望为数据点之外的那些网格点将z值分配为“ NA”。网格上的点如下所示:https : //drive.google.com/file/d/0B6GUNg-8d30vYzlwTkhvaHBFTnc/edit?usp=我绘制时共享 plot(my_mesh) points(s100_ras$Y, s100_ras$X, pch="*", col='blue') 问题是我不确定如何在此基础上进行构建,以下步骤不起作用,因为我的网格和数据点的比例不同! …
13 raster  r  vector-grid 

2
剪辑多边形并保留数据?
我有以下两个多边形: library(sp); library(rgeos); library(maptools) coords1 <- matrix(c(-1.841960, -1.823464, -1.838623, -1.841960, 55.663696, 55.659178, 55.650841, 55.663696), ncol=2) coords2 <- matrix(c(-1.822606, -1.816790, -1.832712, -1.822606, 55.657887, 55.646806, 55.650679, 55.657887), ncol=2) p1 <- Polygon(coords1) p2 <- Polygon(coords2) p1 <- Polygons(list(p1), ID = "p1") p2 <- Polygons(list(p2), ID = "p2") myPolys <- SpatialPolygons(list(p1, p2)) spdf1 = …

2
如何从R中点位置的栅格中提取值?
我的问题是关于从点位置的栅格中提取值。通过函数提取,这非常容易,并且函数为我提供了一个数据帧,其中包含点中所有变量的值。我想在该数据框中具有每个点的坐标。我该如何实现?可以对R说,从栅格中提取值时还要添加位置点的列。 这是我的程序: presencias=read.table("c:/SDM_R/presencias/P_lentiscus_pres.csv",header=TRUE,sep=";") lista_variables <-list.files(path="Variables_modelizacion/solo_ascii",pattern='*.asc',full.names=TRUE) variables <- stack(lista_variables) variables_presencia<-extract(variables, presencias) 结果是这样的: > bio1 bio12 bio18 bio2 bio4 > 90 875 165 95 4886 > 115 1085 158 83 4075 > 135 1153 153 67 3402 > 85 1026 137 99 5203 > 96 667 128 108 5823 > 98 531 …
13 raster  r 

3
R中的Choropleth:自定义中断和绘图
我有一个关于绘制胆管图的问题。关于绘制带有自定义中断的地图有何建议?并使其看起来更具吸引力。 在我的脚本中,我使用了plot和spplot命令来可视化一些数据,但是我对结果并不完全满意。不难理解原因。使用spplot,我得到了一个颜色渐变,它为不同的值重复颜色,这有点奇怪。将绘图与自定义间隔一起使用时,我无法为这些值设定更好的间隔,例如,零值在地图上为白色。我认为图例和地图之间的比例偏差可能是Rstudio的结果。 所以我想知道是否有人对使用自定义中断在R中绘制Choropleth映射有更好的建议? 编辑20-02-2013 正如建议的那样,我已经使用ggplot2创建了一个Choropleth映射。我用下面的代码。我遇到了两个问题。一种是在加强数据后,并非所有来自shapefile的数据都被传输到数据帧。因此,我必须重命名“ id”变量,以便可以合并数据。次要问题。 一个更大的问题是,尽管事实是数据帧中的数据是正确的,但ggplot显示的是数据不正确的映射。根据图例的颜色值与数据中变量的值不对应。我在这里俯瞰什么吗? # Plotting polygon shapefiles (try-out) # Load the packages require(rgdal) require(maptools) require(ggplot2) gpclibPermit() # required for the fortify method # Load the shapefile africa=readOGR("/home/GIS",layer="africaII") names(africa) # Load the data on conflict conflict<-read.csv("africa_conflict.csv", header=TRUE) names(conflict) # Merge the data together africadat<-merge(africa, conflict, by="ISO3") # …
13 r  choropleth 

2
在基于OSM传输网络的R中执行路由分析?
我正在根据人口普查流量数据,工作密度分布和交通网络分析通勤者上班的可能路径。 目前,我正在使用用于QGIS的pgRouting和pgRouting附加组件(在此进行介绍)进行分析: 但是,我希望我采取的所有步骤都可以完全复制(请参阅此处的出色文章),然后我希望从命令行进行分析并保存脚本文件以供将来参考。 R-geo软件包是免费,轻便且稳定的,因此可以很好地满足此要求:下载一个很小的脚本文件,您应该可以重新执行我所做的所有事情(请参见此处,了解Rpubs上与此无关的示例) )。 我为此确定的R包是: gdistance于2012年12月发布,看起来很有希望,但没有迹象表明与osm传输网络兼容 e1071似乎很抽象,可能对我想做的事有些过高 spatstat软件包中的pairdist.lpp函数看起来很有希望,但几乎没有文档 在深入探讨这些问题之前,认为值得询问那些可能面临类似困境的人。 是否可以在R中进行路由分析,还是最好正确学习PostGIS并全部在pgRouting中完成?

2
使用proj4用R ggmap和ggplot2包指定Robinson投影?
我想在罗宾逊投影中投影这张地图: library(ggmap) world <- map_data("world") ggplot() + geom_path(data = world, aes(long, lat, group = group)) 并且我想将投影更改为“罗宾逊”(在回答我以前的问题的建议之后:Wikipedia使用的全球气候区域地图使用哪种投影? 我很难找到此投影的默认实现,使用该proj4库我做了以下工作: library(proj4) robinson <- project(cbind(world$long, world$lat), proj = "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs") 我尝试了多种方法,包括: # using ggmap::get.map() get_map("world", projection = mapprojection(robinson)) # using ggplot2::coord_map coord_map(projection = robinson) # and sp::coordinates: library(sp) …

2
使用R?随机采样栅格
是否有一种直接采样栅格的简单方法,以便过程的输出是栅格? 我使用的是我在r-sig-geo 列表中找到的示例,并且我还尝试sampleRandom了raster软件包中的功能。这两种方法都产生输出,我不确定如何转换成栅格。搜索“ SpatialPointsDataFrame栅格”的几种组合后,我找不到方法。 library(raster) # read in raster rasterSource <- 'landsat.TIF' r <- raster(rasterSource) # convert to spatial points data frame r.spgrd<-as(r,"SpatialPointsDataFrame") # elminate NA values r.spgrd = r.spgrd[!is.na(r.spgrd[[1]]),] # sample points selectedPoints = sample(1:length(r.spgrd[[1]]), 1000) r.sampled = r.spgrd[selectedPoints,] # try to make spgrd into a raster r.test <- …
13 raster  r 

1
在R中创建给定栅格的范围和边界的多边形
我想创建两个多边形。 一是我的栅格的矩形范围。我知道我可以使用来获得栅格的范围 r <- raster("band5.tif") e <- extent(r) plot(e): 如何创建栅格边界的一个多边形,如下所示? 这是我的栅格的样子:
13 raster  r  rgdal 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.