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

基于NA值筛选行:保留至少回答3个指定问题的样本

筛选FFCW数据集:保留至少回答3个指定育儿压力问题的样本

核心思路是计算每行在4个指定育儿压力问题中的非NA作答数量,直接保留数量≥3的样本,不用纠结具体是哪几个问题未作答。这种方法比排除全NA或特定NA组合更精准,能覆盖所有符合原作者要求的情况。

具体实现(以R语言为例)

假设你的数据框是df,4个育儿压力问题变量名为stress_q1、stress_q2、stress_q3、stress_q4:

  1. 定义目标变量列表
target_vars <- c("stress_q1", "stress_q2", "stress_q3", "stress_q4")
  1. 计算每行的非NA作答数量
df$answered_count <- rowSums(!is.na(df[target_vars]))
  1. 筛选符合条件的样本
filtered_df <- df[df$answered_count >= 3, ]

用ifelse实现的写法(满足你的需求)

如果一定要用ifelse标记是否保留,可参考以下代码:

df$keep_sample <- ifelse(rowSums(!is.na(df[target_vars])) >= 3, TRUE, FALSE)
filtered_df <- df[df$keep_sample, ]

为什么之前的方法样本量不符?

你之前只排除全NA或特定NA组合的行,会出现两种偏差:

  • 漏保留:仅缺1个问题的样本(符合≥3个作答的要求)
  • 误保留:缺2个问题的样本(不符合要求)
    而通过计算非NA数量的方法,能精准匹配原作者的规则,不会出现遗漏或误判。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:30:54