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

Pearson相关分析返回NA值:问题原因排查请求

Pearson相关分析返回NA的原因及解决办法

问题描述

执行Pearson相关分析时返回NA值,使用的代码:

correlation <- cor(df$var1, df$var2, method = 'pearson')

数据集包含var1和var2两个变量,存在多个NA值,且数据结构为rowwise_df。

原因分析

  • 缺失值(NA)的影响:cor()函数默认参数use="everything",只要输入向量中存在NA,就会直接返回NA。你的数据里var1和var2都包含多个NA(比如第18、25、42、50行等),这是结果为NA的核心原因之一。
  • 行分组结构的干扰:数据是rowwise_df(按行分组的数据框),这种结构下直接提取列向量(df$var1)可能保留分组属性,干扰相关系数的计算逻辑,引发异常结果。

解决办法

1. 处理缺失值

在cor()函数中指定缺失值处理方式,常用方案是仅使用无缺失值的完整行计算:

# 基于完整行计算相关系数
correlation <- cor(df$var1, df$var2, method = 'pearson', use = "complete.obs")

也可以先手动清理缺失值再计算:

# 移除包含NA的行
df_clean <- df %>% drop_na(var1, var2)
# 计算清理后数据的相关系数
correlation <- cor(df_clean$var1, df_clean$var2, method = 'pearson')

2. 取消行分组

先将rowwise_df转换为普通数据框结构,避免分组干扰:

# 取消行分组
df <- df %>% ungroup()
# 结合缺失值处理计算相关系数
correlation <- cor(df$var1, df$var2, method = 'pearson', use = "complete.obs")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:41:56