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

如何基于系数矩阵的信息对数据框(data frame)执行取子集操作

实现方法

你可以通过逻辑筛选出系数矩阵中非零值对应的变量名,再对原数据框按列索引即可实现需求,代码简洁且支持任意数量的非零系数变量,无需手动指定变量名:

# 1. 提取所有系数非零的变量名
selected_vars <- rownames(CF)[CF[, 1] != 0]

# 2. 索引原数据框得到仅含目标变量的新数据框
# 加drop = FALSE是为了避免仅筛选到1个变量时自动转为向量
df_var <- df[, selected_vars, drop = FALSE]

# 如果需要返回矩阵格式,直接转换即可
df_var_matrix <- as.matrix(df_var)

代码说明

  • 先用CF[, 1] != 0生成布尔向量,标记系数矩阵中每一行的系数是否为非零值
  • 用该布尔向量索引系数矩阵的行名,即可自动得到所有系数非零的变量名称集合
  • 直接用变量名称集合索引原数据框的列,即可得到目标结果,和你示例中预期的df_var输出完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:12:01