我想將方法??2、3和4的排名結果與方法1進行比較。在這方面,我想使用Spearman Rho系數。我還想知道方法2、3和4的結果是否與方法1有顯著關系。那么如何做到這一點?
database<-structure(list(
Method1 = c(1L, 10L, 7L, 8L, 9L, 6L, 5L, 3L, 4L, 2L), Method2 = c(1L,
8L, 6L, 7L, 10L, 9L, 4L, 2L, 5L, 3L), Method3 = c(1L,
10L, 7L, 8L, 9L, 6L, 4L, 2L, 3L, 5L), Method4 = c(1L,
9L, 6L, 7L, 10L, 8L, 5L, 3L, 2L, 4L)), class = "data.frame", row.names = c(NA,
10L))
> database
Method1 Method2 Method3 Method4
1 1 1 1 1
2 10 8 10 9
3 7 6 7 6
4 8 7 8 7
5 9 10 9 10
6 6 9 6 8
7 5 4 4 5
8 3 2 2 3
9 4 5 3 2
10 2 3 5 4
uj5u.com熱心網友回復:
也許您想要這樣的東西,您可以cor.test
使用“spearman”提取估計值method
:
library(dplyr)
database %>%
summarise_each(funs(cor.test(., database$Method1, method = "spearman")$estimate))
輸出:
Method1 Method2 Method3 Method4
1 1 0.8787879 0.9272727 0.9030303
對于 p 值:
library(dplyr)
database %>%
summarise_each(funs(cor.test(., database$Method1, method = "spearman")$p.value))
輸出:
Method1 Method2 Method3 Method4
1 0 0.001977059 0.0001301624 0.000880225
uj5u.com熱心網友回復:
與summarise
_across
library(dplyr)
database %>%
summarise(across(Method2:Method4, ~cor.test(., Method1, method = "spearman")$estimate))
Method2 Method3 Method4
1 0.8787879 0.9272727 0.9030303
uj5u.com熱心網友回復:
在sapply
剩余列的回圈中。
sapply(c('Method2', 'Method3', 'Method4'), \(x)
cor.test(database[, 1], database[, x], method='spearman')[c('estimate', 'p.value')])
# Method2 Method3 Method4
# estimate 0.8787879 0.9272727 0.9030303
# p.value 0.001977059 0.0001301624 0.000880225
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/498164.html
標籤:r
上一篇:添加作為其他列總和的列
下一篇:如何去除每個樣本的前綴