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

R语言中如何按列值条件将数据集多行求和合并为单独一行

数据处理实现方案

基于dplyr(tidyverse)的实现

常用tidyverse生态可直接使用以下代码得到符合要求的结果:

library(dplyr)

# 将下方raw_df替换为你实际的数据集名称
processed_df <- raw_df %>%
  # 将物种数低于40的科统一标记为Others
  mutate(Family = ifelse(Species_n < 40, "Others", Family)) %>%
  # 按处理后的科名分组,对物种数求和
  group_by(Family) %>%
  summarise(Species_n = sum(Species_n), .groups = "drop") %>%
  # 按物种数降序排序,适配后续直方图绘制的顺序需求
  arrange(desc(Species_n))

基础R实现

无需额外安装包的原生R解法:

# 将下方raw_df替换为你实际的数据集名称
raw_df$Family <- ifelse(raw_df$Species_n < 40, "Others", raw_df$Family)
processed_df <- aggregate(Species_n ~ Family, data = raw_df, sum)
# 可选:按物种数降序排序
processed_df <- processed_df[order(-processed_df$Species_n), ]

两种方法均可实现需求,运行后物种数低于40的科会被合并为Others行,对应数值为所有符合条件的科物种数总和,完全匹配你给出的示例预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:36:01