3

データ量と開始点/終了点が異なる2つのデータセットを比較したいと思います。自分が書いたCプログラムで似たようなことをしているのでKS.testを使いたかったのですが(GSLヒストグラム-> GSL cdf->自作KSテストでデータを比較)、このプログラムは未公開なのでまだ使えませんこのために。しかし、私はRで同じ原則を使用したかったのですが、Rでこれを行う方法を理解できないようです。

2つの経験累積分布関数(spatstatライブラリで作成)があり、それらに対してKS.testを実行しようとしていますが、解釈方法がよくわからないというエラーが発生します。

私が実行したRコード:

予測および実験には、xy値の配列(長さの違い、開始X値と終了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
4

1 に答える 1

3

これは、ks.testが引数としてデータ値の2つのベクトル、またはデータ値のベクトルと名前付き分布関数のいずれかを期待しているためだと思います。ECDF自体ではありません。すでに2つのECDFがある場合は、KS統計を自分で計算できます。

于 2013-01-28T11:54:56.910 に答える