我是R编程的新手。我目前正在研究一个可以改进spdep包中的mstree()的研究项目。我有一个关于如何使Polygon(),Polygons(),SpatialPolygons()和SpationPolygonsDataFrame()工作的问题。 以下是我尝试的代码:
library("spdep")
library("sp")
require(maptools)
Dmat<-matrix(nrow=1,ncol=2)
rownames(Dmat)<-c("s1")
Dfram<-data.frame(Dmat)
#diabetesNum is a dataset that I artificially made
nrows<-nrow(diabetesNum)
x1matrix<-data.matrix(diabetesNum)
x1Frame<-data.frame(diabetesNum)
x1Frame4<-as(x1Frame,"S4")
x1X<-prcomp(x1Frame)$x
#Use the first two principal components for coordinates of the points
xycoordinates<-data.frame(x1X[,1:2])
row1<-xycoordinates[1,]
row1M<-data.frame(row1)
xycoordinates[nrows+1,]<-c(row1M)
xycoordinates
PC1 PC2
1 285.60120 -6.541733
2 -78.14211 -30.160212
3 -263.15002 31.236614
4 51.00528 -143.520521
5 -139.55849 27.842465
6 -244.09755 31.258001
7 281.18411 12.072960
8 580.64105 51.538605
9 -135.05802 -38.923404
10 -201.08445 47.932800
11 -137.34100 17.264425
12 285.60120 -6.541733
xycoordinatesF<-data.frame(xycoordinates)
xycoordinatesM<-data.matrix(xycoordinatesF)
pl<-Polygon(xycoordinatesM)
pls<-Polygons(list(pl), ID="1")
Sr<-SpatialPolygons(list(pls))
bho.nb<-poly2nb(Sr)
Error in sp$mbxv[i]:(n * 2) : argument of length 0
......和错误!我的代码上面有什么问题?我在互联网上搜索和搜索,找出使用Polygon(),Polygons(),SpatialPolygons(),SpatialPolygonsDataFrame()和poly2nb()的正确方法,但我只是不知道如何使这些函数工作!我已经通过了R手册,但它没有那么多帮助...... 但有趣的是,当我查看多边形对象时,多边形槽是空的;当我查看Sr时,类似地,SpatialPolygons槽和多边形槽是空的。 谢谢,