我有一个基于受试者内设计的数据集。所以我们有一个包含 3 个不同变量的重复测量的数据集。因此,变量之间的关联在受试者之间应该是独立的。因此需要在个人层面上计算相关性。
我想做以下事情:
步骤 1) 为每个参与者创建一个包含所有 3 个变量(value_01value_02、value_01value_03、value_02*value_03)相关性的表。
第 2 步)针对零执行单边 t 检验
所以,假设我们有一个这样的数据集:
df <- read.table(text = 'ID condition value_01 value_02 value_03
01 A 7 13 22
01 B 5 20 18
01 C 6 60 23
01 D 8 11 22
02 B 7 17 18
02 C 9 18 20
02 D 5 7 23
02 A 7 7 22
03 C 8 12 20
03 D 3 11 22
03 A 8 15 22'
03 B 9 118 25')
我们正在寻找的是这样的关联表:
ID value_01*value_02 value_01*value_03 value_01*value_02*value_03
01 0.56 0.37 0.28
02 0.4 5 0.45 0.35
03 0.34 0.36 0.23
我尝试像这样计算相关性:
library(dplyr)
subset <- df %>%
group_by(ID) %>%
summarise(
Value_01_02 = cor(value_01, value_02, method = "pearson"),
Value_01_03 = cor(value_01, value_03, method = "pearson"),
Value_02_03 = cor(value_02, value_03, method = "pearson")
)
View(subset)
但是输出是错误的,因为它只计算每个变量组合的一个相关系数。错误的结果如下所示:
ID value_01*value_02 value_01*value_03 value_02*value_03
01 0.24 0.13 0.33
有人知道我该如何解决这个问题吗? 预先感谢您!
您可以使用rmcorr:
library(dplyr)
library(rmcorr)
cor <- rmcorr_mat(participant = ID,
variables = c('value_01',
'value_02',
'value_03'),
dataset = df,
CI.level = 0.95)
cor
#>
#> Repeated measures correlation matrix
#>
#> value_01 value_02 value_03
#> value_01 1.00000000 0.3443627 0.09101661
#> value_02 0.34436266 1.0000000 0.48127980
#> value_03 0.09101661 0.4812798 1.00000000
cor$summary
#> measure1 measure2 df rmcorr.r lowerCI upperCI p.vals effective.N
#> 1 value_01 value_02 8 0.34436266 -0.3642375 0.8004381 0.3298600 10
#> 2 value_01 value_03 8 0.09101661 -0.5713518 0.6815838 0.8025423 10
#> 3 value_02 value_03 8 0.48127980 -0.2128438 0.8525584 0.1590385 10
创建于 2023-08-03,使用 reprex v2.0.2