Wilcoxon Rank Sum检验函数从 "零开始"

问题描述 投票:2回答:1

我想生成一个函数来返回Wilcoxon Rank Sum Test的测试统计量(这是一个类,我知道有一个内置函数)。

y=c(3,4,4,4,5,6,7)
total=c(x,y)
names=c(rep(c("X"), times = length(x)),rep(c("Y"), times = length(y)))
df=data.frame(names,total)```
df
     names total
1      X     1
2      X     2
3      X     3
4      X     4
5      X     5
6      X     6
7      X     7
8      X     8
9      X     9
10     X    10
11     Y     3
12     Y     4
13     Y     4
14     Y     5
15     Y     6
16     Y     7

然后,我按 "总数 "一栏的降序排列,一旦排列好,我就把它们排在一起

newdf= df[order(total),]
rankdf=data.frame(newdf,rank=c(1:nrow(newdf)))
rankdf
   names total rank
1      X     1    1
2      X     2    2
3      X     3    3
11     Y     3    4
4      X     4    5
12     Y     4    6
13     Y     4    7
5      X     5    8
14     Y     5    9
6      X     6   10
15     Y     6   11
7      X     7   12
16     Y     7   13
8      X     8   14
9      X     9   15
10     X    10   16

我是否有办法检查 "总数 "列中的哪些元素是相同的,然后计算 "等级 "列中相应值的平均值,并将结果重新分配到行中,而不丢失名称列。我期待的是这样的东西。

  names total rank
1      X     1    1
2      X     2    2
3      X     3    3.5
11     Y     3    3.5
4      X     4    6
12     Y     4    6
13     Y     4    6
5      X     5    8.5
14     Y     5    8.5
6      X     6   10.5
15     Y     6   10.5
7      X     7   12.5
16     Y     7   12.5
8      X     8   14
9      X     9   15
10     X    10   16

我对R程序很陌生,先谢谢你!

Val

r dataframe statistics mean
1个回答
0
投票

wilcox.test,函数 rank 是用,所以你也可以这样做。

cbind(rankdf,w_rank=rank(rankdf$total))
   names total rank w_rank
1      X     1    1    1.0
2      X     2    2    2.0
3      X     3    3    3.5
11     Y     3    4    3.5
4      X     4    5    6.5
12     Y     4    6    6.5
13     Y     4    7    6.5
14     Y     4    8    6.5
5      X     5    9    9.5
15     Y     5   10    9.5
6      X     6   11   11.5
16     Y     6   12   11.5
7      X     7   13   13.5
17     Y     7   14   13.5
8      X     8   15   15.0
9      X     9   16   16.0
10     X    10   17   17.0
© www.soinside.com 2019 - 2024. All rights reserved.