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

如何统计R Studio数据集中v1至v6列缺失值≥3的受访者数量

R 计算v1-v6至少3个缺失值的受访者人数方法

假设你存储数据的对象名为df,以下提供两种常用实现方案:

基础R实现

直接通过行求和统计缺失数后计数,代码如下:

# 计算符合条件的总人数
sum(rowSums(is.na(df[, paste0("v", 1:6)])) >= 3)

逻辑说明:

  • is.na(df[, paste0("v", 1:6)]):先筛选v1到v6列,判断每个单元格是否为缺失值,返回逻辑矩阵
  • rowSums(...):按行对逻辑矩阵求和,得到每一行受访者在6个变量上的缺失总个数
  • >=3:筛选出缺失数≥3的行,返回逻辑向量
  • sum(...):统计逻辑向量中TRUE的数量,即符合要求的受访者总人数

tidyverse 实现

如果你习惯使用dplyr的管道语法,可以用如下代码:

library(dplyr)

df %>%
  rowwise() %>% # 按行处理
  mutate(na_count = sum(is.na(c_across(v1:v6)))) %>% # 统计每行v1到v6的缺失数
  ungroup() %>%
  filter(na_count >= 3) %>% # 筛选缺失数≥3的行
  nrow() # 统计行数即总人数

注意:如果你的数据集里缺失值不是用R默认的NA表示,而是用特殊编码(比如-9、空字符串""等),需要先将这些特殊值替换为NA再运行上述代码,替换示例:df[df == 你的缺失编码] <- NA

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:15:03