全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3932 3
2007-10-19

以下数据代表四种药物对某症状的影响评分,做kruska-Walis检验,得到P<0.05,请问应如何进一步作两两比较

x <- c(2, 3,3, 3, 3,0)
y <- c(1, 3, 1, 2, 2,3)     
z <- c(3, 1, 2, 1,3, 3)
k<-c(1,0,0,0,0,-1)
kruskal.test(list(x, y, z,k))

另外一个问题是如果希望看到kruskal.test的程序编写过程,有何办法?我试着在提示符下输入kruskal.test,只得到以下回复

function (x, ...)
UseMethod("kruskal.test")
<environment: namespace:stats>

谢谢!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2007-10-22 12:35:00
?kruskal.test
通常可以得到更多消息。

具体的计算方法如下链接:
http://en.wikipedia.org/wiki/Kruskal-Wallis_test

如果要两两比较,必须要用wilcox.test(非参数法),具体可以 ?wilcox.test 得到更多参数调节的消息, 也可以到WIKI上查到相关的公式。
至于要编程两两比较,可以如下:

x <- c(2, 3,3, 3, 3,0)
y <- c(1, 3, 1, 2, 2,3)     
z <- c(3, 1, 2, 1,3, 3)
k<-c(1,0,0,0,0,-1)

n = cbind(x,y,z,k)
for (i in 1:3){
for (j in 1:4){
if (i < j){wilcox.test(n[,i],n[,i+1])}
}
}















二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-10-22 12:46:00
x <- c(2, 3,3, 3, 3,0)
y <- c(1, 3, 1, 2, 2,3)    
z <- c(3, 1, 2, 1,3, 3)
k<-c(1,0,0,0,0,-1)

n = cbind(x,y,z,k)
for (i in 1:3){
for (j in 2:4){
if (i < j){
nn = wilcox.test(n[,i],n[,j])
cat (colnames(n),"\t", colnames(n)[j], "\t", nn$p.value,"\n")
}
}
}
   
sorry for the previous mistakes
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-10-23 08:38:00

我看过本《生物统计学基础》,译自哈佛教材,里面提到kruska-Walis检验得到P<0.05后可用dunn法作两两比较,其他书里也介绍过Neymanyi法,虽然有计算公式可以自己编程,但我想应该能用R直接实现吧。

关于digestive的建议,我想提醒注意的是,这样做是否会增加犯一类错误的概率

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群