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

如何在R中对CSV文件排序并聚合重复地点的塑料数据

解决R中CSV数据汇总与排序的问题

我来帮你一步步搞定这两个需求,都是日常处理数据时很常用的操作~

一、重复地点的塑料数量汇总(新增总数量和出现次数)

咱们先处理地点汇总的问题,这里最方便的工具是dplyr包(如果还没安装,先跑install.packages("dplyr")安装一下),它的语法清晰易懂,很适合做这类分组统计。

假设你已经把CSV文件导入成了名为df的数据框(比如用df <- read.csv("你的文件路径.csv")导入),接下来只需要两步:

  1. 按「地点」列分组
  2. 对每组计算总塑料数和出现次数

具体代码如下:

# 加载dplyr包
library(dplyr)

# 生成汇总表
summary_df <- df %>%
  group_by(地点) %>%
  summarize(
    总塑料物品数 = sum(塑料物品总数),  # 汇总该地点的塑料总数
    地点出现次数 = n()  # 统计该地点出现的次数
  )

# 查看结果
print(summary_df)

解释一下:group_by(地点)会把相同地点的行归为一组,summarize()里的sum()用来求和,n()用来统计每组的行数(也就是地点出现的次数)。

如果不想用dplyr,用Base R的aggregate和table也能实现,代码如下:

# 先计算每个地点的总塑料数
total_plastic <- aggregate(塑料物品总数 ~ 地点, data = df, FUN = sum)
# 再统计地点出现次数
location_count <- as.data.frame(table(df$地点))
colnames(location_count) <- c("地点", "地点出现次数")
# 合并两个表
summary_df_base <- merge(total_plastic, location_count, by = "地点")

二、在R中对CSV文件排序

排序的方法也分两种,同样推荐用dplyr的arrange()函数,或者Base R的order()函数。

方法1:用dplyr排序

# 按「塑料物品总数」升序排序(从小到大)
sorted_df_asc <- df %>% arrange(塑料物品总数)

# 按「塑料物品总数」降序排序(从大到小)
sorted_df_desc <- df %>% arrange(desc(塑料物品总数))

# 如果要按多列排序,比如先按地点升序,再按塑料总数降序
sorted_df_multi <- df %>% arrange(地点, desc(塑料物品总数))

方法2:用Base R排序

# 升序排序
sorted_df_asc_base <- df[order(df$塑料物品总数), ]

# 降序排序(加负号)
sorted_df_desc_base <- df[order(-df$塑料物品总数), ]

# 多列排序
sorted_df_multi_base <- df[order(df$地点, -df$塑料物品总数), ]

排序完成后,如果要把结果保存回CSV文件,用write.csv()即可:

write.csv(sorted_df_desc, "排序后的塑料数据.csv", row.names = FALSE)

这里row.names = FALSE是为了避免把R的行号写入CSV文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 18:39:04