与 dplyr、tidyverse 和 broom 的相关矩阵 - P 值矩阵
Correlation matrix with dplyr, tidyverse and broom - P-value matrix
全部。我想使用 dplyr and/or 扫帚包 并同时测试多个变量 从相关矩阵中获取 p 值。我知道其他方法,但 dplyr 对我来说似乎更简单、更直观。此外,dplyr 需要关联每个变量以获得特定的 p 值,这使得该过程更容易和更快。
我检查了其他链接,但它们对这个问题不起作用 (example 1, example 2, example 3)
当我使用此代码时,会报告相关系数。但是,P 值不是。
agreg_base_tipo_a %>%
dplyr::select(S2.RT, BIS_total, IDATE, BAI, ASRS_total) %>%
do(as.data.frame(cor(., method="spearman", use="pairwise.complete.obs")))
请检查这个可重现的代码:
set.seed(1164)
library(tidyverse)
ds <- data.frame(id=(1) ,a=rnorm(10,2,1), b=rnorm(10,3,2), c=rnorm(5,1,05))
ds %>%
select(a,b,c) %>%
do(as.data.frame(cor(., method="spearman", use="pairwise.complete.obs")))
此答案基于 akrun 对此 post 的评论。通过使用 rcorr
函数,我们可以计算相关性和 P 值。要访问这些组件,请使用 ds_cor$r
和 ds_cor$P
。
set.seed(1164)
library(tidyverse)
library(Hmisc)
ds <- data.frame(id=(1) ,a=rnorm(10,2,1), b=rnorm(10,3,2), c=rnorm(5,1,05))
ds_cor <- ds %>%
select(-id) %>%
as.matrix() %>%
rcorr(type = "spearman")
ds_cor
# a b c
# a 1.00 0.28 -0.42
# b 0.28 1.00 -0.25
# c -0.42 -0.25 1.00
#
# n= 10
#
#
# P
# a b c
# a 0.4250 0.2287
# b 0.4250 0.4929
# c 0.2287 0.4929
全部。我想使用 dplyr and/or 扫帚包 并同时测试多个变量 从相关矩阵中获取 p 值。我知道其他方法,但 dplyr 对我来说似乎更简单、更直观。此外,dplyr 需要关联每个变量以获得特定的 p 值,这使得该过程更容易和更快。
我检查了其他链接,但它们对这个问题不起作用 (example 1, example 2, example 3) 当我使用此代码时,会报告相关系数。但是,P 值不是。
agreg_base_tipo_a %>%
dplyr::select(S2.RT, BIS_total, IDATE, BAI, ASRS_total) %>%
do(as.data.frame(cor(., method="spearman", use="pairwise.complete.obs")))
请检查这个可重现的代码:
set.seed(1164)
library(tidyverse)
ds <- data.frame(id=(1) ,a=rnorm(10,2,1), b=rnorm(10,3,2), c=rnorm(5,1,05))
ds %>%
select(a,b,c) %>%
do(as.data.frame(cor(., method="spearman", use="pairwise.complete.obs")))
此答案基于 akrun 对此 post 的评论。通过使用 rcorr
函数,我们可以计算相关性和 P 值。要访问这些组件,请使用 ds_cor$r
和 ds_cor$P
。
set.seed(1164)
library(tidyverse)
library(Hmisc)
ds <- data.frame(id=(1) ,a=rnorm(10,2,1), b=rnorm(10,3,2), c=rnorm(5,1,05))
ds_cor <- ds %>%
select(-id) %>%
as.matrix() %>%
rcorr(type = "spearman")
ds_cor
# a b c
# a 1.00 0.28 -0.42
# b 0.28 1.00 -0.25
# c -0.42 -0.25 1.00
#
# n= 10
#
#
# P
# a b c
# a 0.4250 0.2287
# b 0.4250 0.4929
# c 0.2287 0.4929