如何提取泰坦尼克存活乘客中年龄最值对应的姓名与年龄信息
泰坦尼克存活乘客年龄最值关联姓名的实现方案
基础R实现
先筛选出存活且年龄非空的乘客子集,再匹配对应年龄最值的记录:
# 筛选存活且年龄无缺失的乘客 survived_passengers <- passengers2[passengers2$Survived == 1 & !is.na(passengers2$Age), ] # 获取年龄最小的存活乘客并打印信息 min_age_record <- survived_passengers[survived_passengers$Age == min(survived_passengers$Age), ] cat("年龄最小的存活乘客:\n姓名:", min_age_record$Name, "\n年龄:", min_age_record$Age, "\n\n") # 获取年龄最大的存活乘客并打印信息 max_age_record <- survived_passengers[survived_passengers$Age == max(survived_passengers$Age), ] cat("年龄最大的存活乘客:\n姓名:", max_age_record$Name, "\n年龄:", max_age_record$Age, "\n")
dplyr简洁实现(需先安装加载dplyr包)
如果习惯用tidyverse风格代码,可通过链式操作快速完成:
# 首次使用需执行install.packages("dplyr")安装包 library(dplyr) # 提取年龄最小的存活乘客信息 min_age_passenger <- passengers2 %>% filter(Survived == 1, !is.na(Age)) %>% filter(Age == min(Age)) %>% select(Name, Age) # 提取年龄最大的存活乘客信息 max_age_passenger <- passengers2 %>% filter(Survived == 1, !is.na(Age)) %>% filter(Age == max(Age)) %>% select(Name, Age) # 输出结果 print("年龄最小的存活乘客:") print(min_age_passenger) print("\n年龄最大的存活乘客:") print(max_age_passenger)
注意事项
- 必须过滤掉
Age列的缺失值(NA),避免匹配到无效记录; - 如果存在多名乘客同属年龄最值(比如多个最小年龄存活者),上述代码会返回所有符合条件的记录。
内容的提问来源于stack exchange,提问作者Krzysiek
相关产品推荐
相关产品推荐

