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

在R中统计各Status分类对应的乘客数量及具体姓名的实现方法

R按身份分类统计人数及对应乘客名单实现方案

假设你的原始数据集已经导入R,存储为数据框passenger_df,包含Passenger(乘客姓名)、Status(身份)两列。

方案1:使用dplyr包(代码可读性高)

  • 加载依赖包
    library(dplyr)
  • 计算代码:
stat_result <- passenger_df %>%
  group_by(Status) %>%
  summarise(
    乘客总人数 = n(),
    乘客姓名列表 = list(Passenger)
  )
  • 结果说明:输出的stat_result每一行对应一个身份分类,乘客总人数列为该分类下的总人数,乘客姓名列表为列表格式,每个元素存储对应分类的所有乘客姓名向量,无需拼接字符串,直接提取即可使用。
  • 调用示例:提取身份为Mrs.的所有乘客姓名:stat_result$乘客姓名列表[[which(stat_result$Status == "Mrs.")]]

方案2:基础R实现(无需安装第三方包)

  • 代码如下:
# 按身份拆分乘客姓名
name_list <- split(passenger_df$Passenger, passenger_df$Status)
# 整合统计结果
stat_result <- data.frame(
  Status = names(name_list),
  乘客总人数 = lengths(name_list),
  row.names = NULL
)
stat_result$乘客姓名列表 <- name_list
  • 结果说明:输出结构和dplyr方案完全一致,也可以直接通过name_list[["Mrs."]]直接调取对应身份的乘客列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:54:05