如何在R语言中统计仅含空格或空字符串的元素数量?
统计向量中空字符串或全空格元素的数量
方法1:正则表达式匹配(base R)
用grepl()配合正则模式^\\s*$,该模式会精准匹配空字符串或仅由任意数量空格组成的字符串。再通过sum()统计匹配成功的元素个数(逻辑值TRUE会被视为1,FALSE视为0),适合大向量的高效统计。
代码示例:
vector <- c("Red", " ", "", "5", "") sum(grepl("^\\s*$", vector)) # 输出:3
方法2:去除空格后判断(base R)
先用trimws()去除字符串首尾的所有空格,原本为空或全空格的元素处理后会变成空字符串,再判断是否等于"",最后用sum()统计数量。这个方法逻辑直观,同样是向量化操作,处理大向量效率拉满。
代码示例:
vector <- c("Red", " ", "", "5", "") sum(trimws(vector) == "") # 输出:3
大向量适配说明
上述两种方法都是R底层优化的向量化操作,无需额外安装扩展包,处理百万级甚至更大规模的向量时,效率远高于手动循环,完全满足大向量的统计需求。
内容的提问来源于stack exchange,提问作者James Rider
相关产品推荐
相关产品推荐

