计算R中的受试者内Pearson R相关性

s4n0splo  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(148)

我有一个 Dataframe ,看起来像这样

id value 1 value 2 
1    2.65   7.98
1    5.89   10.84
2    1.65   2.67 
2    6.89   4.89
3    5.89   6.98
3    4.23   1.98

我有3个参与者,他们被测量了两次,每次测量得到2个值,现在我想计算受试者内相关性(Pearsson R),即每个参与者/每次测量的值1和值2之间的相关性。
我在苦苦挣扎如何做到这一点。

dw1jzc5e

dw1jzc5e1#

使用dplyr包时,需要对ID变量执行group_by操作,然后使用cor进行关联,关联将方法作为参数。
我为你的数据框做了一个更大的版本,这样结果会更合理。如果每个ID只有两行,那么相关性总是一行。

df<-data.frame(id=c(1,1,1,1,2,2,2,2,3,3,3,3),
           value_1=c(2.65,5.89,1.65,6.89,5.89,4.23,5.89,1.65,2.65,3.89,5.89,4.23),       value_2=c(7.98,10.84,2.67,4.89,6.98,1.98,5.89,1.65,2.65,4.89,5.89,4.23))

然后group_by和cor,和pearson,斯皮尔曼,或者kendall一起:

df%>%
  group_by(id)%>%
  summarise(pearson = cor(value_1,value_2, method = "pearson"),
            spearman = cor(value_1,value_2, method = "spearman"))

结果如下:

# A tibble: 3 × 3
     id pearson spearman
  <dbl>   <dbl>    <dbl>
1     1   0.388    0.4  
2     2   0.864    0.949
3     3   0.931    0.8

相关问题