You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中计算组内被试Pearson相关系数的实现方法

按参与者计算组内Pearson相关系数

实现思路

针对每个参与者(按id分组),单独计算其value 1与value 2的Pearson相关系数,用Python的pandas可以快速实现。


具体步骤

1. 构建/读取数据框

先把你的数据转换成pandas数据结构(如果是从文件读取,直接用pd.read_csv()即可):

import pandas as pd

# 模拟你的数据
df = pd.DataFrame({
    'id': [1, 1, 2, 2, 3, 3],
    'value 1': [2.65, 5.89, 1.65, 6.89, 5.89, 4.23],
    'value 2': [7.98, 10.84, 2.67, 4.89, 6.98, 1.98]
})

2. 分组计算相关系数

通过groupby按id分组,对每组的两个数值列计算Pearson相关:

# 定义分组计算函数
def get_pearson_corr(group):
    return group['value 1'].corr(group['value 2'])  # 默认就是Pearson相关,可省略method参数

# 执行分组计算并整理结果
corr_results = df.groupby('id').apply(get_pearson_corr).reset_index(name='pearson_corr')

3. 查看结果

运行后corr_results会输出每个参与者的相关系数:

id  pearson_corr
0   1           1.0
1   2           1.0
2   3           1.0

注:因为每个参与者只有2个数据点,变量变化完全线性,所以相关系数均为1.0;若有更多数据点,会输出实际的相关值。


内容的提问来源于stack exchange,提问作者Sofia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:10:26