2017-08-11 286 views
1

我目前正在使用調查問卷中的數據,其中的答案已添加到找到前後得分並隨後減去以找出差異。我試圖運行Mann-Witney U測試來測試觀看不同教育干預後差異分數之間是否存在差異。數據的排列方式使得一列是與第一次教育干預的差異,第二列是與第二次教育干預的差異。當我運行代碼: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進行數據分析已經很長時間了,而且我從來沒有爲這種類型的數據做過,所以我確信我錯過了一些東西。

這就是數據的樣子(我不知道爲什麼我的數字有一個L在他們旁邊......)

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

羅蘭如何存在而不存在?因爲它總是說它是用於視頻的。該視頻的分數比寫作的分數少,但我甚至試圖放棄代碼來忽略NAs。 –

回答

1

它看起來像您使用的是運行wilcox.test命令沒有正確引用您的數據。具體而言,從您的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(公式=意見$視頻〜意見$書面,: 分組因子必須有2個級別 我加了所有得分爲一列,並添加了第二欄,稱爲干預,其中1分爲視頻分數,2分爲書面分數。我最終得到了一個輸出結果,但我不確定這是否正確地使用了該測試,或者它是否真正測試了我 –

+0

這不是一個準確的測試,因爲我同樣使用了同理心得分,並得到了完全相同的p值,所以我做了一個克魯斯卡爾瓦利斯測試,這是一個準確的測試嗎? –

+0

我的統計數據有點不穩定,但是在閱讀一些維基百科頁面時,似乎wilcox測試應該起作用,因爲你的示例只在兩個層次上看。如果我必須猜測(如果wilcox.test能夠運行任何類似的e R的'lm','glm'等),您應該使用熔解命令重新格式化數據。出於格式原因,我將編輯我的回覆/答案。 – kfurlong

相關問題