2017-03-23 2 views
4

私は最近、私のデータ解析のためにSPSSからRに切り替わりました。その一環として、SPSSでこれまでに行われていたRの中でいくつかの既成の分析を実行していました。Rでのフリードマンのテストは、SPSSとは異なる結果をもたらします

この場合、私のデータは、孤立した制限された設定で9人の参加者の嫌悪感に対する自己評価です。私はそれらを5回テストしました(夏、秋、冬、春、夏)。データは非正規分布です。

私はSPSSでフリードマンテストを実行しました。これは私にp=.012, χ2(4df)=12.79という年齢を与えました。私は今日Rでテストを再実行し、それは私にこれを与えました:p=.951 (χ2(4df)=.69)。これは私が今までのすべての分析を疑う理由を与えるので、本当に私を驚かせる。

これを発見すると、.csvにSPSSファイルを再エクスポートし、Rスクリプトで開いてFriedmanテストを再実行しました。誤って別のデータファイルを使用していないことを確認する。確かにそうではありません。

アンディ・フィールドによって記載されているように私は、フリードマンテストを使用:

Summer1 <- c(2,0,0,0,0,0,0,0,0) 
Autumn <- c(3,0,1,0,0,4,2,0,1) 
Winter <- c(1,0,0,0,0,2,5,1,1) 
Spring <- c(1,0,2,2,2,8,4,0,1) 
Summer2 <- c(3,0,2,1,0,4,7,1,1) 
Hostility <- matrix(c(Summer1, Autumn, Winter, Spring, Summer2), nrow=9, byrow=TRUE) 
friedman.test(Hostility) 

誰もがこれについての説明、または結果が正しい考えを持っていますか?

+0

再現可能な例を除いてRの結果であるため、このトピックを議論の対象にしないように投票しています。 – gung

+0

私は喜んで再現可能な例を作りますが、ここでどうやってそれをしますか? –

+1

私は恋人であることをお詫び申し上げます。 再現可能な例を次に示します。 RStudioバージョン1.0.136では、上記のような値が得られます(p = .951(χ2(4df)= .69))。 'code' Summer1 <-c(2,0,0,0,0,0,0,0,0) 秋<-c(3,0,1,0,0,4,2,0、 1) Winter <-c(1,0,0,0,0,2,5,1,1) Spring <-c(1,0,2,2,2,8,4,0,1) Summer2 <-c(3,0,2,1,0,4,7,1,1) 敵意<-matrix(c(Summer1、Autumn、Winter、Spring、Summer2)、nrow = 9、byrow = TRUE ) friedman.test(Hostility) これは、Andy FieldのFriedmanテストの実行方法の説明に基づいています。 –

答えて

3

これはRコードの間違いです。列ではなく行でデータを行列に読み込みます。 matrix()関数呼び出しでは、byrow引数をFALSEに変更してください。考えてみましょう:常に

... 
Hostility <- matrix(c(Summer1, Autumn, Winter, Spring, Summer2), nrow=9, byrow=TRUE) 
Hostility 
#  [,1] [,2] [,3] [,4] [,5] 
# [1,] 2 0 0 0 0 
# [2,] 0 0 0 0 3 
# [3,] 0 1 0 0 4 
# [4,] 2 0 1 1 0 
# [5,] 0 0 0 2 5 
# [6,] 1 1 1 0 2 
# [7,] 2 2 8 4 0 
# [8,] 1 3 0 2 1 
# [9,] 0 4 7 1 1 

Hostility2 <- matrix(c(Summer1, Autumn, Winter, Spring, Summer2), nrow=9, byrow=FALSE) 
Hostility2 
#  [,1] [,2] [,3] [,4] [,5] 
# [1,] 2 3 1 1 3 
# [2,] 0 0 0 0 0 
# [3,] 0 1 0 2 2 
# [4,] 0 0 0 2 1 
# [5,] 0 0 0 2 0 
# [6,] 0 4 2 8 4 
# [7,] 0 2 5 4 7 
# [8,] 0 0 1 0 1 
# [9,] 0 1 1 1 1 
friedman.test(Hostility2) 
# Friedman rank sum test 
# 
# data: Hostility2 
# Friedman chi-squared = 12.794, df = 4, p-value = 0.
4

良いアイデアあなたの行列が実際にはそれが必要だと思うもののように見えることを確認する:

> Hostility 
     [,1] [,2] [,3] [,4] [,5] 
    [1,] 2 0 0 0 0 
    [2,] 0 0 0 0 3 
    [3,] 0 1 0 0 4 
    [4,] 2 0 1 1 0 
    [5,] 0 0 0 2 5 
    [6,] 1 1 1 0 2 
    [7,] 2 2 8 4 0 
    [8,] 1 3 0 2 1 
    [9,] 0 4 7 1 1 

問題がbyrow=TRUEです。正しく構築された場合、フリードマン試験はSPSSと合意しました:

+0

[stats.se]へようこそ!私たちの[ツアー]を見てください。 – Tavrock

関連する問題