2017-08-11 10 views
1

私は現在アンケートのデータを使って、前後のスコアを見つけて差異を見つけるために差をつけています。異なる教育的介入を見た後に差のスコアが異なるかどうかをテストするために、私はMann-Witney U検定を実行しようとしています。データは、1列が最初の教育介入との違いであり、2列目が2度目の教育介入との違いであるように配置されています。私はコードを実行すると:Rエラー:変数に無効な型(NULL)があります

wilcox.test(formula=opinion$video~opinion$writtenpiece) 

を私はこのエラーを取得する:

Error in model.frame.default(formula = opinion$video ~ opinion$writtenpiece) : invalid type (NULL) for variable 'opinion$video'

私はそれが仕事と同じエラーを取得するために継続させるために私は考えることができるすべてのものを試してみました。誰かが私が間違っているアイディアを持っていますか?私はデータ分析にRを使用して以来、このタイプのデータでこれを行ったことはないので、長いことでした。だから私は何かが欠けていると確信しています。

これは、それはあなたがあなたのwilcox.testを実行するために使用しているコマンドのように見えます

dput(opinion)

structure(list(Video = c(11L, 12L, 10L, 10L, 9L, 9L, 13L, 13L, 10L, 12L, 12L, 12L, 13L, 11L, 15L, 11L, 15L, 12L, 17L, 12L, 10L, 14L, 13L, 12L, 12L, 10L, 9L, 11L, 11L, 14L, 13L, 14L, 14L, 11L, 12L, 13L, 12L, 13L, 14L, 11L, 10L, 12L, 13L, 15L, 15L, 10L, 11L, 13L, 12L, 11L, 12L, 9L, 10L, 12L, 14L, 10L, 10L, 9L, 11L, 11L, 10L, 9L, 10L, 10L, 16L, 7L, 9L, 10L, 10L, 16L, 13L, 11L, 10L, 6L, 11L, 10L, 13L, 10L, 13L, 12L, 10L, 15L, 0L, 0L, 0L, 0L, 0L, 0L), Written.Piece = c(10L, 11L, 10L, 10L, 10L, 7L, 10L, 9L, 13L, 13L, 12L, 8L, 13L, 12L, 15L, 10L, 9L, 11L, 10L, 11L, 13L, 10L, 12L, 11L, 11L, 11L, 10L, 15L, 10L, 13L, 14L, 11L, 11L, 12L, 9L, 15L, 11L, 14L, 11L, 12L, 12L, 14L, 10L, 10L, 10L, 9L, 13L, 13L, 10L, 9L, 9L, 13L, 8L, 13L, 14L, 9L, 12L, 11L, 11L, 12L, 10L, 13L, 16L, 12L, 10L, 8L, 13L, 16L, 17L, 12L, 11L, 13L, 11L, 11L, 9L, 10L, 12L, 12L, 10L, 14L, 12L, 11L, 12L, 11L, 12L, 10L, 10L, 12L)), .Names = c("Video", "Written.Piece"), class = "data.frame", row.names = c(NA, -88L))

+2

Rは変数が存在しないことを伝えています。 – Roland

+0

ローランドはどうやって存在することができますか?それは常にそれがビデオ1のためだと言います。ビデオは書き込まれた作品よりもスコアが低いですが、私もNAを無視するコードを入れてみました。 –

答えて

1

(私は私の番号は、それらの隣にLを持っている理由はわからない...)のようにデータが見えるものですデータを正しく参照していません。具体的には、dputから、VideoWritten.Pieceという変数が大文字になっているようです。このコードを実行してみてください:

melt.opinion <- melt(opinion, 
         id.vars = c(), 
         measure.vars = c("Video", "Written.Piece"), 
         variable.name = "intervention.type", 
         value.name = "difference.value") 
wilcox.test(formula = 
       melt.opinion$difference.value ~ melt.opinion$intervention.type) 
+0

ありがとう!私はちょうどこれに気付き、それを修正しましたが、このエラーが発生しました:wilcox.test.formulaのエラー(数式= opinion $ Video〜opinion $ Written、: グループ化係数はちょうど2レベルでなければなりません 私は1つの列にスコアを追加し、2番目の列に介入というビデオスコアを追加し、2番目の列にはスコアを追加しました。最終的には出力が得られましたが、そのテストを正確に使用しているかどうか、 –

+0

正確なテストではありません。私は共感スコアでも同じP値を得ましたので、私はKruskal Wallisテストを代わりに行いました。それは正確なテストですか? –

+0

私の統計は少し不安ですしかし、wikipediaのページのいくつかを読むと、あなたのサンプルは2つのレベルしか見ていないので、wilcoxのテストがうまくいくように思えます。 e Rの 'lm'、' glm'など)、meltコマンドを使ってデータを再フォーマットする必要があります。私はフォーマット/理由のために私の応答/回答を編集するつもりです。 – kfurlong

関連する問題