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

R语言:按Location和Vegetation.type分组求和Area列值

R语言分组求和:按采样点+植被类型汇总斑块面积

给你两个简单易用的方法,都是R里处理这类分组汇总的常用方式:

方法一:Base R 原生函数(无需额外安装包)

用aggregate()函数直接实现,语法简洁:

# 假设你的原始数据框名为 df
summed_data <- aggregate(Area ~ Location + Vegetation.type, data = df, FUN = sum)
  • Area ~ Location + Vegetation.type:定义分组规则——按Location和Vegetation.type的组合分组,对Area列进行计算
  • FUN = sum:指定对分组后的Area执行求和操作

方法二:tidyverse 包(代码更易读,适合新手理解)

如果习惯更贴近自然语言的写法,可以用dplyr包:

# 先安装并加载包(第一次用需要安装)
install.packages("dplyr")
library(dplyr)

summed_data <- df %>%
  group_by(Location, Vegetation.type) %>%  # 指定分组列
  summarise(Total_Area = sum(Area), .groups = "drop")  # 求和并取消分组状态
  • group_by():明确指定用于分组的两个列
  • summarise():生成汇总结果,这里把求和后的面积命名为Total_Area,.groups = "drop"确保输出是普通数据框而非分组对象

示例测试

你可以用下面的示例数据快速验证效果:

# 构造示例数据框
df <- data.frame(
  Location = c("样点1", "样点1", "样点1", "样点2", "样点2"),
  Vegetation.type = c("草地", "林地", "草地", "林地", "灌丛"),
  Area = c(12, 25, 18, 30, 22)
)

运行上述任意一种方法后,会得到这样的结果:

LocationVegetation.typeTotal_Area/Area
样点1草地30
样点1林地25
样点2林地30
样点2灌丛22

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:40:21