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

Stata中MCA分析后e(sample)在R中的等效实现方法问询

在R中复现Stata MCA的e(sample)筛选功能

要在R的FactoMineR包中实现Stata里predict var4 if e(sample)的效果(仅对参与MCA分析的观测生成预测值,其余观测设为NA),可按以下步骤操作:

  1. 标记参与MCA分析的观测
    FactoMineR执行MCA时会自动排除含缺失值的观测,分析结果里的mca_result$row$coord仅保留实际参与计算的样本。通过行名匹配,可生成原始数据中参与分析的观测标记:
library(FactoMineR)

# 假设已完成MCA分析
mca_result <- MCA(your_data,
                  quali.sup = c(...), # 可选:定性补充变量
                  quanti.sup = c(...), # 可选:定量补充变量
                  na.rm = TRUE) # 默认自动剔除含缺失值的观测

# 生成参与分析的样本逻辑标记向量
used_sample <- rownames(your_data) %in% rownames(mca_result$row$coord)
  1. 生成并筛选预测值
    用predict.mca获取所有观测的坐标值,再通过标记向量筛选,仅保留参与分析的观测的预测值,其余设为NA:
# 获取所有维度的预测坐标
pred_coords <- predict(mca_result, newdata = your_data, type = "coord")

# 提取指定维度(如第1维度)的预测值,对应Stata的var4
your_data$var4 <- NA
your_data$var4[used_sample] <- pred_coords$coord[, 1]

处理后,your_data$var4的结果和Stata中predict var4 if e(sample)完全一致:仅参与MCA分析的观测有有效预测值,其余观测为NA。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:45:44