如何用R函数筛选大型数据集指定数据并计算接种YES人群年龄均值
问题1解答:大型数据集筛选特定数据的常用R函数
- 基础R内置函数:
subset(),适合中小规模数据集,语法简单易上手 - tidyverse生态的
dplyr::filter():优化了运算效率,是当前数据分析场景的主流选择,对中大型数据集适配性好 - 针对超大规模数据集(百万行及以上),推荐使用
data.table包的自定义筛选语法,内存占用和运算速度都有明显优势
问题2解答:筛选接种人群并计算平均年龄的R实现
首先构造示例数据表:
# 构造示例数据 df <- data.frame( Name = c("A", "B", "C", "D", "F"), Age = c(12, 16, 12, 19, 21), Vaccination = c("yes", "yes", "no", "no", "yes") )
方法1:基础R实现
# 筛选接种状态为yes的人群 vaccinated_people <- subset(df, Vaccination == "yes") # 计算年龄平均值 mean_age <- mean(vaccinated_people$Age) # 输出结果 print(mean_age)
运行结果为16.33333
方法2:dplyr实现(更适合流水线操作)
# 加载dplyr包 library(dplyr) mean_age <- df %>% filter(Vaccination == "yes") %>% summarise(mean_age = mean(Age)) # 输出结果 print(mean_age)
内容的提问来源于stack exchange,提问作者ATMADEEP GHOSHAL
相关产品推荐
相关产品推荐

