我在R包PBSmapping中使用函数joinPolys来查找多边形之间的交点。 但是,即使我非常确定交集是非空的,它也会为我的数据提供NULL输出。

我已经从https://code.google.com/p/pbs-mapping/issues/detail?id=31创建了一个示例。 在链接中,该代码旨在显示该代码有效的情况(但对我而言不起作用)。 示例如下:

代码不起作用:

require(PBSmapping)

polyA <- data.frame(PID=rep(1,4),POS=1:4,X=c(0,1,1,0),Y=c(0,0,1,1))
polyB <- data.frame(PID=rep(1,4),POS=1:4,X=c(.5,1.5,1.5,.5),Y=c(.5,.5,1.5,1.5))

# Plot polygons
plotPolys(polyA, xlim=c(0,3), ylim=c(0,3))
addPolys(polyB, border=2)

# returns NULL
print(joinPolys(polyA, polyB))

但是,在其他情况下,该代码可以正常工作:

require(PBSmapping)

N <- 4

X = cos(seq(0, 2*pi, length = N))
Y = sin(seq(0, 2*pi, length = N))

require(PBSmapping)
polysA1 = data.frame(PID = rep(1, N), POS = 1:N, 
  X = 5*X, Y = 5*Y)
polysB1 = data.frame(PID = rep(1, N), POS = 1:N, 
  X = 5*X + 5, Y = 5*Y)
plotMap(NULL, xlim = c(-10, 10), ylim = c(-10, 10))
addPolys(polysA1, col = 'blue', lty = 12, density = 0, pch = 16)
addPolys(polysB1, col = 'red', lty = 12, density = 0, pch = 16)
addPolys(joinPolys(polysA1, polysB1), col = 2)

print(head(joinPolys(polysA1, polysB1)))

我正在使用R版本3.1.3和Ubuntu 14.04.2 LTS。

提前致谢! 我是stackoverflow的新手,所以如果我能提供其他服务,请告诉我。

干杯

  ask by jimrichardson00 translate from so

本文未有回复,本站智能推荐:

2回复

R中带有PBSmapping包的importShapefile错误

我在RStudio(0.97.318)中,运行R版本2.15.2,平台:i386-w64-mingw32 / i386(32位)的PBSmapping(版本2.6.3.37)中收到带有importShapefile的零星错误消息。 在运行早期版本的R和RStudio时,我也收到该错误。 我
2回复

函数输出中的NULL来自何处?

下面,我创建一个名为c_data的数据框。 请注意,变量ri有一个缺失值。 然后,我编写了一个检查数据的函数。 第一步是如果ri缺少数据,则停止该功能。 (我从函数中删除了与我的问题无关的语法)。 我提供输出。 该函数按预期执行,除了除了预期结果外还输出NULL 。 为什么打
2回复

使用PBSMapping和Shapefiles帮助在R中绘制地理数据

使用R中O'Reilly的数据混搭为灵感,我想要绘制地址一小撮对盐池县的shape文件,犹他发现在这里 。 我有数据框geoTable: 我已将其强制转换为eventData对象: 所以看起来我已经拥有了我需要绘制的所有东西 - 但它不起作用。 当我加载shapefile并使用绘图
1回复

为什么我在r中的函数创建num(0)和NULL输出?

我正在尝试在r中发挥作用,从而创建一种抗生素矩阵,以对抗肺炎克雷伯菌的部分“抵抗”,“易感”或“中间”。 但是我目前正在使用的功能: 输出: 知道这里发生了什么吗? (原始数据是一列抗生素名称,一列耐药表型以及其他一些列) 谢谢!
1回复

如何在R中编写函数,该函数将提供与以下存储过程相同的输出?

我在SQL Server中有一个存储过程,并且正在R中编写它。我无法在R中获得与存储过程相同的输出。 ALTERProc [dbo].[UPD_CREDIT] ASBEGIN DECLARE @cmd VARCHAR(1000) DECLARE @ssispath
1回复

函数内部if语句的抑制NULL输出

我正在尝试使用copy()获取值矩阵,但是当if()语句返回NULL时,将创建一个列表而不是矩阵。 我已经花了一些时间在这里阅读网页和问题,但是似乎无法获得一些有用的东西。 我尝试了不可见和接收器的变体,但仍然无法获得不返回NULL值的输出。 这是为第5个条目提供NULL值的示例。 如何获取if()
1回复

如何在.GlobalEnv中的R中提供用户定义函数的输出作为data.frame

我创建了一个函数“ mywsobj”,该函数需要一个输入和两个输出 用户输入:环境 output1:一个数据框名称“ wsobj”(对象列表,其类,其内存使用情况的数据)输出到控制台output2:对象列表及其基于内存使用情况的barplot。 到目前为止一切正常, 我的问题1:
2回复

在应用中跳过NULL输出

在 R 中使用 apply 时,有没有办法让它跳过为NULL向量元素,这样当f(x2,y2)未定义时apply(x,1,f,y)返回c(f(x1,y1),f(x1,y2),f(x2,y2)) 而不是 c(f(x1,y1),f(x1,y2),NULL,f(x2,y2)) ?