-1

私は R の比較的初心者であり、約 1900 の個々のサイトからの水質データの正常性 (またはそれ以外) を評価するために R を使用しようとしています。各サイトには、3 年間にわたるサンプルSitecodeの結果が含まれています。データは/順にMeas_resソートされた .csv ファイルに保持されます。Andersen Darling テスト (およびパッケージからの他の同様の評価) を実行して、次の一般的な形式で出力を取得したいと思います。SitecodeSample Datenortest

Sitecode、.csv ファイル形式に書き戻された広告テスト出力

テストを実行するための一連のコード、またはこれを準備する方法についてのガイダンスを誰かに教えてもらえますか?

4

1 に答える 1

2

なぜテストを実行したいのか、また、なぜそれが特定のサイトを差別化できると考えるのかについての説明がなければ、約 100 件が単に偶然に非正常であると判明するでしょう。水質データが一般的に正常かどうかを確認したい場合は、すべてのデータを一度に確認することをお勧めします。平均はサイトごとに異なるため、チェックできるのはSitecode、予測因子としての因子を使用した線形モデルの残差です。

library(nortest)
dat <- read.csv( 'myDataFileName.csv' )
m <- lm( Mean_res ~ Sitecode, data = dat)
res <- resid(m)
ad.test(res)

これで、 で Anderson Darling テストを実行できますres

しかし、楽しみのために、既知の正規分布から多数のサンプルのいくつかの AD 検定を生成してみて、qqnormプロットを見て、それらがどのように見えるかを確認してください。

y <- rnorm( nrow(dat) )
ad.test(y)
qqnorm(y); qqline(y)

非常に多くのポイントがあると、AD テストに時々失敗することがありますが、データは驚くほど正常に見えます。したがって、答えはおそらく AD テストではありません。残差のプロットを見て、正規性を評価するのがおそらく最善です。

最初のコメントに戻ると、正規性テストは、正規性からの逸脱を検出できるかどうかのみを示します。また、t 検定と同様に、非常に高い N で非常に感度が高く、アルファ レートで誤った警告を出します。データが正常かどうかはわかりません。したがって、テストに「合格」しても、データが正常であるというデモンストレーションは得られません。それらが正常性に対するテストであることを考えると、それらが行うことは、どのサイトが正常ではないかを示すことです (多くの誤報があります)。一部のサイトが正常でないと信じる何らかの理由がなければ、計画したテストはおそらくやりたいことではありません。

于 2013-07-09T12:40:40.290 に答える