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

R语言存在缺失值时计算相关系数R与R平方的实现方法

代码调整方案

问题原因

你编写的代码无法正常返回结果,原因有两点:

  • 函数中定义的na.rm参数没有传递给cor()函数,cor()默认遇到缺失值会直接返回NA
  • 现有函数仅支持返回R平方,未包含相关系数R的计算逻辑

调整后代码

方案1:自定义函数同时返回R和R²

# 定义计算函数
cal_cor_rsq <- function(x, y, na.rm = TRUE) {
  # 缺失值处理逻辑传递给cor函数
  r <- cor(x, y, use = ifelse(na.rm, "complete.obs", "everything"))
  r_sq <- r^2
  return(c(R = r, R_squared = r_sq))
}

# 调用函数计算
result <- cal_cor_rsq(NDVINS$NDVIN, NDVINS$NDVIN_GPR)
# 查看结果
result

方案2:直接调用基础函数计算

如果不需要封装函数,可以直接运行以下代码:

# 计算相关系数R,指定仅用无缺失值的观测行
R <- cor(NDVINS$NDVIN, NDVINS$NDVIN_GPR, use = "complete.obs")
# 计算决定系数R平方
R_sq <- R^2

# 打印格式化结果
cat("相关系数R:", round(R, 4), "\n")
cat("决定系数R平方:", round(R_sq, 4), "\n")

计算结果说明

基于你提供的30行样本数据计算,得到:

  • 相关系数R ≈ 0.7621
  • 决定系数R平方 ≈ 0.5808

内容的提问来源于stack exchange,提问作者Cláudio Siva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:36:03