我正在分析波哥大市受伤和死亡的交通事故。这些数据包含了2015年在82018901米长的道路网上发生的9108起事故的位置,它们按月分开,每月包含超过800点(事故)。我正在使用R的spatstat包将这些数据分析为线性网络上的点模式。
当我使用内核高斯
的density.lpp()时## Todo.lpp it's the point pattern on the linear network
## npoints(Todo_lpp) = 9108 ; volume(domain(Todo_lpp)) = 8218901
density.lpp(Todo_lpp, sigma = 1000)
我得到了这个“错误:$运算符对原子向量无效”。使用内核Epanechnikov:
density.lpp(Todo_lpp, sigma = 1000, kernel = "epanechnikov")
我得到:“makeunitname中的错误(s [1],s [1]):在单位名称中,第一个条目应该是一个字符串”。
为了纠正错误,我使用了一台服务器,认为它是笔记本电脑的内存而且没有用。我尝试了一些带宽,我得到了同样的错误。我还尝试减少网络的点数和大小以及功能密度.lpp()适用于长度为45113米的网络上的点模式,有102个事件,但对于129604.4米的网络上的点模式46分的长度不起作用。
当我使用:densidad_2015 <- density.lpp(Bogota_2015, sigma = 1000)
时,我得到“错误:$运算符对原子向量无效”,然后我使用了traceback()并获得了以下内容:
..... 1, 1, 0.543675672992009, 0.917333284484343, 0.709566697706099,
1, 1, 0.377473064517719, 1, 0.310630352751969, 1, 0.490405224740971,
1, 1, 1))
5: do.call(X, append(as.list(coo), list(...)))
4: as.linim.linfun(f, ...)
3: as.linim(f, ...)
2: PDEdensityLPP(x, sigma, ..., weights = weights)
1: density.lpp(Bogota_2015, sigma = 1000)
当我使用时:densidad_2015 <- density.lpp(Bogota_2015, sigma = 5, kernel = "epanechnikov")
我获取“makeunitname中的错误(s [1],s [1]):
在单元名称中,第一个条目应该是一个字符串“,然后我使用了traceback()并获得了以下内容:
14: stop("In unit name, first entry should be a character string")
13: makeunitname(s[[1]], s[[1]])
12: as.unitname(x$units)
11: unitname.owin(W)
10: unitname(W)
9: as.unitname(unitname)
8: owin(W$xrange, W$yrange, poly = W$bdry, mask = W$m, unitname = unitname(W),
check = FALSE)
7: as.owin.owin(A)
6: as.owin(A)
5: is.subset.owin(i, as.owin(x))
4: `[.im`(Z, M, drop = FALSE)
3: Z[M, drop = FALSE]
2: linim(L, Z, df = df)
1: density.lpp(Bogota_2015, sigma = 5, kernel = "epanechnikov")
下面我附上波哥大19个地方中的2个地方的图像,我用它来执行功能density.lpp()的测试。
蓝色道路网络的图像对应46个点(功能密度.lpp()不起作用),绿色网络图像对应102点(功能密度.lpp()工作)。