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

如何在R中筛选至少完成3-4次有效调查的参与者数据框?

解决方法

你可以直接在filter()里用n()函数,它会返回当前分组的行数(也就是该参与者的有效响应次数),不用额外遍历统计,代码更简洁:

筛选至少完成3次有效调查的参与者

participant_sorted <- data %>%
    group_by(PARTICIPANT_ID) %>%
    drop_na(TODAY_VISUALSNOW_INTENSE, TODAY_TINNITUS_INTENSE) %>%
    filter(n() >= 3) %>%  # 保留有效记录数≥3的分组
    ungroup()  # 取消分组,避免后续操作受分组属性影响

若需筛选至少完成4次的,修改条件即可:

filter(n() >= 4)

补充说明

  • drop_na()已经剔除了两个核心变量存在缺失的记录,所以分组后的n()就是该参与者的有效响应次数。
  • 最后添加ungroup()是常规操作,能避免后续对整个数据框操作时因残留分组属性引发异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 00:37:01