gpt4 book ai didi

r - 对 R 中的经验加权分布函数执行 KS.test

转载 作者:行者123 更新时间:2023-12-03 05:48:07 25 4
gpt4 key购买 nike

我想比较具有不同数据量和不同起点/终点的两个数据集。我想使用 KS.test,因为我在我编写的 C 程序中做了类似的事情(通过 GSL 直方图 -> GSL cdf -> 自己编写的 KS 测试比较数据),但由于该程序尚未发布,所以我仍然无法使用就为了这个。然而,我确实想在 R 中使用相同的原理,但似乎无法掌握如何在 R 中做到这一点。

我有两个经验加权分布函数(使用 spatstat 库创建),并尝试对它们执行 KS.test,但它给了我一个错误,我不太确定如何解释。

我执行的 R 代码:

预测和实验包含 xy 值数组(不同长度、开始和结束 X 值)。

cdf_e<-ewcdf(experimental[,1],weights=experimental[,2])
cdf_p<-ewcdf(predicted[,1],weights=predicted[,2])
ks.test(cdf_e,cdf_p)

我收到的消息是:

Error in x[!is.na(x)] : object of type 'closure' is not subsettable
In addition: Warning message:
In is.na(x) : is.na() applied to non-(list or vector) of type 'closure'

任何人都可以告诉我这具体意味着什么(因为 ?ks.test 没有提到任何与此错误相关的内容),或者我是否应该使用不同的函数调用或其他什么。

PS:每个数据文件的前10行如下:

预测

m/z I
292.1 1272
322.0 815
324.9 780
350.0 922
363.9 781
366.0 87049
366.9 12773
367.9 1620
383.6 1258

实验

m/z I
366.139 1229.62
367.142 186.775
368.145 10.9435
528.192 19.8701
529.195 4.39351
579.435 11.5899
680.996 73.8311
681.861 7.2526
745.032 5.31373

最佳答案

我想这是因为 ks.test 期望作为参数的两个数据值向量,或一个数据值向量和一个命名的分布函数;不是 ECDF 本身。如果您已经有两个 ECDF,您可以自己计算 KS 统计量。

关于r - 对 R 中的经验加权分布函数执行 KS.test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14566922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com