2017-05-26 61 views
0

我很新的R編程,但我一直在學習:)Wilcoxon秩和檢驗 - 在比較測量前後,您能否使R子類型的治療方法不同?

我想進行測量前後的配對Wilcoxon秩和檢驗。我的受試者已經獲得4種不同類型的治療(即作爲因子w/4水平的治療)。我的數據是序數。

我有一個包含3列的數據幀:

  • 之前
  • 治療的類型

能否運行wilcox.test而子集劃分的不同類型的處理?

我跑了wilcox.test如下:

wilcox.test(Before,After,paired=TRUE) 

如何修改這個代碼,以子集我的類型的治療?

希望有一個人能幫助我... :)


之前|在|之後治療
------ | ------ | ---------
2 | 2 | SH
2 | 1 | SH
2 | 2 | SH
1 | 1 | SH
2 | 2 | OH
2 | 2 | OH
2 | 2 | OH
2 | 1 | OH
2 | 1 | SA
2 | 1 | SA
1 | 1 | SA
2 | 2 | SA
2 | 2 | OA
2 | 3 | OA
1 | 2 | OA
2 | 2 | OA

+0

你能不能提供一些數據嗎? – dvarelas

+0

@dvarelas我在上面編輯過的版本中做了一些看起來像表格的東西。希望你可以使用它 – Nakita

+0

排名設置從1 - 4(1是最好的,4是最差的) – Nakita

回答

0

使用split,使您的組的列表,然後lapply在列表...

x <- read.csv(text = "Before|After|Treatment 
2|2|SH 
2|1|SH 
2|2|SH 
1|1|SH 
2|2|OH 
2|2|OH 
2|2|OH 
2|1|OH 
2|1|SA 
2|1|SA 
1|1|SA 
2|2|SA 
2|2|OA 
2|3|OA 
1|2|OA 
2|2|OA", sep = "|") 

x <- split(x, x$Treatment) 
lapply(x, function(g) wilcox.test(g$Before, g$After, paired = T)) 

$OA

Wilcoxon signed rank test with continuity correction

data: g$Before and g$After V = 0, p-value = 0.3458 alternative hypothesis: true location shift is not equal to 0

$OH

Wilcoxon signed rank test with continuity correction

data: g$Before and g$After V = 1, p-value = 1 alternative hypothesis: true location shift is not equal to 0

$SA

Wilcoxon signed rank test with continuity correction

data: g$Before and g$After V = 3, p-value = 0.3458 alternative hypothesis: true location shift is not equal to 0

$SH

Wilcoxon signed rank test with continuity correction

data: g$Before and g$After V = 1, p-value = 1 alternative hypothesis: true location shift is not equal to 0

+0

它與拆分工作。我現在在x下有4個列表:)但是當使用lapply時我得到這個錯誤信息: – Nakita

+0

「g $之前的錯誤:$運算符對原子向量無效」。檢查g $之前「> is.atomic(g $之前)」我收到此消息: 「錯誤:找不到對象'g'」 – Nakita

+0

如果您複製並粘貼所有代碼,它就會運行良好。只有'lapply'運行時才存在,這就是爲什麼'is.atomic(g $ Before)'給出錯誤。您需要提供您的實際數據才能提供幫助,否則。見[這篇文章](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)如何做到這一點。 – emilliman5

相關問題