尝试整合曲线下面积 (AUC),误差为 "Error in match.fun(f): 'a1$iso' is not a function, character or symbol"

Trying to integrate an area under curve (AUC), error is "Error in match.fun(f): 'a1$iso' is not a function, character or symbol"

对于我的项目,我试图找到一个单一值的解决方案,该值将总结景观中的总聚类程度。我的想法是使用 Kiso 值和估计的 Kpois 之间的曲线下面积来总结景观中的聚类量。所以使用 spatstat 我首先使用 Matern Cluster Process 生成一个景观。

library(spatstat)
a<-rMatClust(kappa=3,r=0.1,mu=50)
plot(a)

这会产生一个点模式过程,如下所示:

然后我计算这个景观的k函数:

plot(Kest(a))

制作这样的东西:

为了整合我想要的对象,我创建了一个新对象,然后使用对象 select 函数 select iso 曲线。

a1<-Kest(a)
a1$iso

这给出了 Kiso 的值,如下所示:

  [1] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 5.347451e-05 5.347451e-05 1.336863e-04 2.673725e-04
  [9] 3.208470e-04 3.893240e-04 4.427985e-04 5.497475e-04 5.497475e-04 6.566965e-04 7.903828e-04 9.775435e-04
 [17] 1.057755e-03 1.137967e-03 1.218179e-03 1.378602e-03 1.565763e-03 1.699449e-03 1.839898e-03 2.027059e-03
 [25] 2.160745e-03 2.347906e-03 2.750274e-03 3.044384e-03 3.338493e-03 3.391968e-03 3.593308e-03 3.807206e-03
 [33] 4.074578e-03 4.368688e-03 4.720071e-03 5.014180e-03 5.335027e-03 5.556981e-03 5.797616e-03 5.904565e-03
 [41] 6.118463e-03 6.546259e-03 6.917126e-03 7.344922e-03 7.505346e-03 7.993509e-03 8.427558e-03 8.849891e-03
 [49] 9.365021e-03 9.739342e-03 1.002475e-02 1.047832e-02 1.090860e-02 1.140798e-02 1.180013e-02 1.204077e-02
 [57] 1.237526e-02 1.278305e-02 1.338868e-02 1.387758e-02 1.429013e-02 1.464173e-02 1.526999e-02 1.578158e-02
 [65] 1.610819e-02 1.657016e-02 1.689999e-02 1.735750e-02 1.754466e-02 1.811175e-02 1.857947e-02 1.903887e-02
 [73] 1.977850e-02 2.028189e-02 2.088888e-02 2.149992e-02 2.220413e-02 2.282796e-02 2.339736e-02 2.404440e-02
 [81] 2.455658e-02 2.513234e-02 2.550129e-02 2.635066e-02 2.696561e-02 2.757747e-02 2.825938e-02 2.889327e-02
 [89] 2.934851e-02 3.027668e-02 3.088764e-02 3.144002e-02 3.202824e-02 3.260617e-02 3.343151e-02 3.403603e-02
 [97] 3.472754e-02 3.521852e-02 3.582390e-02 3.614769e-02 3.672896e-02 3.743762e-02 3.795639e-02 3.878466e-02
[105] 3.918747e-02 3.987037e-02 4.056020e-02 4.142285e-02 4.230633e-02 4.309149e-02 4.397746e-02 4.457770e-02
[113] 4.517624e-02 4.601898e-02 4.679228e-02 4.760429e-02 4.838268e-02 4.895086e-02 4.969699e-02 5.067618e-02
[121] 5.124806e-02 5.229468e-02 5.277757e-02 5.333491e-02 5.411873e-02 5.495489e-02 5.575142e-02 5.646889e-02
[129] 5.729154e-02 5.800508e-02 5.867400e-02 5.947592e-02 6.027026e-02 6.103556e-02 6.197163e-02 6.272775e-02
[137] 6.372453e-02 6.426049e-02 6.484804e-02 6.547513e-02 6.642026e-02 6.716063e-02 6.813582e-02 6.892019e-02
[145] 6.977850e-02 7.035644e-02 7.125824e-02 7.204221e-02 7.283380e-02 7.378071e-02 7.493134e-02 7.572249e-02
[153] 7.626541e-02 7.711025e-02 7.799507e-02 7.871646e-02 7.961540e-02 8.051056e-02 8.130331e-02 8.206135e-02
[161] 8.329835e-02 8.423484e-02 8.494931e-02 8.585844e-02 8.655054e-02 8.743821e-02 8.823509e-02 8.883506e-02
[169] 8.987727e-02 9.069811e-02 9.179832e-02 9.256096e-02 9.350054e-02 9.435087e-02 9.531505e-02 9.615118e-02
[177] 9.704846e-02 9.820476e-02 9.902785e-02 9.984852e-02 1.007876e-01 1.017041e-01 1.029741e-01 1.040420e-01
[185] 1.050362e-01 1.059676e-01 1.068518e-01 1.080314e-01 1.090975e-01 1.101988e-01 1.112008e-01 1.121691e-01
[193] 1.133207e-01 1.140431e-01 1.148378e-01 1.156454e-01 1.167004e-01 1.177383e-01 1.187564e-01 1.195542e-01
[201] 1.204226e-01 1.212549e-01 1.222205e-01 1.231546e-01 1.236793e-01 1.247121e-01 1.254543e-01 1.263916e-01
[209] 1.273371e-01 1.281239e-01 1.291322e-01 1.296093e-01 1.301229e-01 1.306640e-01 1.314903e-01 1.326400e-01
[217] 1.336800e-01 1.343824e-01 1.350751e-01 1.357783e-01 1.368061e-01 1.375290e-01 1.385450e-01 1.392193e-01
[225] 1.400911e-01 1.409824e-01 1.422904e-01 1.429186e-01 1.437285e-01 1.448333e-01 1.457631e-01 1.465312e-01
[233] 1.473684e-01 1.481809e-01 1.492364e-01 1.502789e-01 1.513047e-01 1.520370e-01 1.528260e-01 1.535681e-01
[241] 1.547475e-01 1.557022e-01 1.563688e-01 1.571513e-01 1.580008e-01 1.587216e-01 1.596034e-01 1.603538e-01
[249] 1.614469e-01 1.621929e-01 1.631378e-01 1.644734e-01 1.653108e-01 1.659698e-01 1.668125e-01 1.677499e-01
[257] 1.684751e-01 1.695380e-01 1.704921e-01 1.714112e-01 1.723993e-01 1.732953e-01 1.739233e-01 1.747298e-01
[265] 1.755402e-01 1.764933e-01 1.774505e-01 1.783552e-01 1.792308e-01 1.801794e-01 1.813804e-01 1.822910e-01
[273] 1.831720e-01 1.839408e-01 1.845575e-01 1.855722e-01 1.862344e-01 1.872080e-01 1.879182e-01 1.885910e-01
[281] 1.895579e-01 1.903136e-01 1.913740e-01 1.920141e-01 1.927692e-01 1.937709e-01 1.946348e-01 1.956823e-01
[289] 1.965854e-01 1.971467e-01 1.977666e-01 1.986277e-01 1.997155e-01 2.007456e-01 2.013980e-01 2.020538e-01
[297] 2.028140e-01 2.037131e-01 2.047504e-01 2.055348e-01 2.063109e-01 2.071692e-01 2.079541e-01 2.087922e-01
[305] 2.096543e-01 2.104788e-01 2.112694e-01 2.118718e-01 2.129244e-01 2.138709e-01 2.146658e-01 2.155264e-01
[313] 2.162086e-01 2.171919e-01 2.180573e-01 2.191216e-01 2.199635e-01 2.205530e-01 2.212991e-01 2.221186e-01
[321] 2.230608e-01 2.239266e-01 2.246927e-01 2.256478e-01 2.266203e-01 2.272242e-01 2.280025e-01 2.287606e-01
[329] 2.294767e-01 2.298512e-01 2.306597e-01 2.314828e-01 2.319722e-01 2.326508e-01 2.331897e-01 2.339028e-01
[337] 2.347861e-01 2.355942e-01 2.361183e-01 2.370703e-01 2.375817e-01 2.384708e-01 2.392515e-01 2.399976e-01
[345] 2.407872e-01 2.418672e-01 2.425124e-01 2.432793e-01 2.440492e-01 2.445367e-01 2.456282e-01 2.464520e-01
[353] 2.473659e-01 2.483027e-01 2.490313e-01 2.497979e-01 2.503788e-01 2.511798e-01 2.519527e-01 2.528309e-01
[361] 2.538637e-01 2.545978e-01 2.556648e-01 2.561737e-01 2.569160e-01 2.577535e-01 2.583107e-01 2.590845e-01
[369] 2.598702e-01 2.607302e-01 2.613032e-01 2.620710e-01 2.628885e-01 2.638368e-01 2.645643e-01 2.655404e-01
[377] 2.663641e-01 2.672732e-01 2.681936e-01 2.688166e-01 2.698429e-01 2.707996e-01 2.713808e-01 2.720574e-01
[385] 2.726791e-01 2.733599e-01 2.742664e-01 2.747397e-01 2.753911e-01 2.759569e-01 2.765006e-01 2.770614e-01
[393] 2.777941e-01 2.786974e-01 2.794753e-01 2.800314e-01 2.806355e-01 2.808734e-01 2.815856e-01 2.828376e-01
[401] 2.833634e-01 2.843512e-01 2.854397e-01 2.862206e-01 2.870055e-01 2.877996e-01 2.883812e-01 2.889118e-01
[409] 2.896342e-01 2.904345e-01 2.913330e-01 2.919967e-01 2.927732e-01 2.935698e-01 2.941481e-01 2.948494e-01
[417] 2.955340e-01 2.965466e-01 2.973846e-01 2.981585e-01 2.990708e-01 2.998979e-01 3.005317e-01 3.011067e-01
[425] 3.020069e-01 3.026795e-01 3.037582e-01 3.046263e-01 3.056040e-01 3.063861e-01 3.071301e-01 3.079488e-01
[433] 3.082977e-01 3.091864e-01 3.099524e-01 3.109822e-01 3.117594e-01 3.126243e-01 3.134249e-01 3.144489e-01
[441] 3.155363e-01 3.164684e-01 3.177154e-01 3.184448e-01 3.193024e-01 3.201500e-01 3.209492e-01 3.219184e-01
[449] 3.226493e-01 3.233938e-01 3.241982e-01 3.248228e-01 3.256813e-01 3.264547e-01 3.273417e-01 3.282202e-01
[457] 3.292304e-01 3.304351e-01 3.313856e-01 3.323992e-01 3.333394e-01 3.340439e-01 3.351532e-01 3.363603e-01
[465] 3.374001e-01 3.385804e-01 3.392726e-01 3.398536e-01 3.409402e-01 3.418129e-01 3.425816e-01 3.434427e-01
[473] 3.444975e-01 3.455439e-01 3.466121e-01 3.474947e-01 3.481351e-01 3.491510e-01 3.499102e-01 3.511237e-01
[481] 3.517769e-01 3.529237e-01 3.538277e-01 3.548461e-01 3.559198e-01 3.572212e-01 3.581639e-01 3.590776e-01
[489] 3.604420e-01 3.618757e-01 3.628696e-01 3.637896e-01 3.649634e-01 3.657484e-01 3.666734e-01 3.675945e-01
[497] 3.683975e-01 3.692571e-01 3.703407e-01 3.716068e-01 3.725040e-01 3.732096e-01 3.739694e-01 3.751397e-01
[505] 3.763022e-01 3.773503e-01 3.782108e-01 3.790302e-01 3.801908e-01 3.812602e-01 3.825241e-01 3.835340e-01
[513] 3.845260e-01

我尝试使用以下方法在 0 和 0.25 之间整合这些值:

integrate(a1$iso,0,0.25)

但是这个 returns 错误“match.fun(f) 中的错误:'a1$iso' 不是函数、字符或符号”

如何对 k 个函数值的曲线下面积 (AUC) 进行积分?

简答:

integrate(as.function(a1), 0, 0.25)

长答案:

integrate的帮助说第一个参数应该是R语言的函数,代表你要集成的函数

您的打印输出显示 a1$iso 是一个数字向量。这些是 K 函数(各向同性校正估计值)K(r) 在距离 r 的一系列值处的值。但 r 值已被丢弃,因此无法单独从 a1$iso 确定曲线下的面积。

对象a1表示一个函数,除了它实际上只是函数值的table,并且属于class"fv"(如您可以阅读 Kest) 的帮助。

好消息---有一种方法可以将这个对象转换为R语言中的函数。请参阅 as.function.fv 的帮助。所以你可以输入

integrate(as.function(a1), 0, 0.25)

此处 00.25 是横轴上的界限,您希望在它们之间计算积分。您将必须决定这些限制。要自动执行此操作,您可以使用 with(a1, range(r))

警告: AUC 项通常保留用于接受者操作特征 (ROC) 曲线下的区域。