在R中运行spatstat包的density.lpp函数时,“错误:$ operator对原子向量无效”

时间:2018-02-22 01:51:23

标签: r spatstat

我正在分析波哥大市受伤和死亡的交通事故。这些数据包含了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分的长度不起作用。

  1. density.lpp()函数是否对点模式的网络形状有任何限制?
  2. 有没有办法找到最佳带宽,以便在线性网络上平滑内核?
  3. density()函数对点模式的点数有任何限制吗?
  4. 当我使用: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()工作)。

    Point pattern with 46 events

    Point pattern with 102 events

0 个答案:

没有答案