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

R语言统计包含Moderna的记录总数的实现方法咨询

R统计含'Moderna'记录的可行方案

原代码问题说明

原代码使用group_by(vaccines)是按照vaccines字段的完全匹配值分组,只有整个vaccines字段内容完全一致的记录才会被分到同一组,而数据中vaccines字段为多疫苗混合存储,不同的疫苗组合会被拆分为不同分组,因此无法直接汇总所有包含Moderna的记录总数。

可行解决方案

方案1:tidyverse生态实现(dplyr+stringr)

适合习惯使用tidyverse语法的场景,代码可读性更高:

# 若未安装依赖可先执行 install.packages("tidyverse")
library(tidyverse)

Number_Of_Countries_Using_Moderna <- Number_of_Vaccines_used %>%
  # 模糊匹配vaccines字段中包含Moderna的记录,ignore_case设为TRUE可忽略大小写差异
  filter(str_detect(vaccines, "Moderna", ignore_case = TRUE)) %>%
  # 对n列求和,na.rm = TRUE可避免空值导致计算结果异常
  summarize(Moderna_Countries = sum(n, na.rm = TRUE))

方案2:基础R实现

无需安装额外依赖包,直接用R内置函数完成:

# 用grepl做正则匹配,返回所有包含Moderna的记录索引
moderna_rows <- grepl("Moderna", Number_of_Vaccines_used$vaccines, ignore.case = TRUE)
# 对对应行的n列求和
Number_Of_Countries_Using_Moderna <- sum(Number_of_Vaccines_used$n[moderna_rows], na.rm = TRUE)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:36:04