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

在R中实现Excel SUMIF等效功能:统计回归变量匹配数

在R中统计LASSO选中变量与真实变量的匹配数量

场景说明

你已经通过LASSO算法选出了目标变量集合:

IVs_Selected_by_LASSO$coefficients
# [1] "X4"  "X10" "X19" "X20" "X22" "X25" "X27" "X28"

同时整理出了真实回归变量集合:

True_Regressors <- c("X4", "X10", "X13", "X19", "X20", "X22", "X25", "X26", "X27", "X28", "X30")

需要统计LASSO选中变量中属于真实变量的数量(示例结果为8),以下是几种R中的实现方法:


方法1:%in% + sum()(最简洁)

%in%会逐个判断LASSO选中的变量是否存在于真实集合中,返回逻辑向量;sum()会将TRUE转为1、FALSE转为0,直接求和得到匹配数量:

# 计算匹配数量
match_count <- sum(IVs_Selected_by_LASSO$coefficients %in% True_Regressors)
match_count
# 输出:8

方法2:intersect() + length()

先获取两个集合的交集(即同时存在于两个集合中的变量),再计算交集的长度:

# 获取匹配的变量集合
matched_vars <- intersect(IVs_Selected_by_LASSO$coefficients, True_Regressors)
# 统计匹配数量
match_count <- length(matched_vars)
match_count
# 输出:8

额外统计(可选)

如果需要更多相关指标,可使用以下代码:

  • 真实变量的总数量:
true_total <- length(True_Regressors)
true_total
# 输出:11
  • LASSO漏选的真实变量:
missed_vars <- setdiff(True_Regressors, IVs_Selected_by_LASSO$coefficients)
missed_vars
# 输出:"X13" "X26" "X30"
  • LASSO错选的变量(示例中无错选,返回空向量):
false_selected <- setdiff(IVs_Selected_by_LASSO$coefficients, True_Regressors)
false_selected
# 输出:character(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:05:27