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

R语言处理不等间隔数据集并绘制高度-温度对比图的方法

R语言实现方案

依赖包

使用dplyr完成数据分组统计,ggplot2完成可视化,首次使用请先安装依赖:

install.packages(c("dplyr", "ggplot2"))
library(dplyr)
library(ggplot2)

步骤1:定义统一高度区间

根据需求设置区间范围和步长,示例为0-80km、步长10km,需调整参数直接修改对应变量即可:

# 单位均为米,对应0-80km范围、10km步长
min_height <- 0
max_height <- 80000
step <- 10000

# 生成区间断点、区间中点(用于绘图Y轴刻度)
breaks <- seq(min_height, max_height, by = step)
mid_height <- breaks[-length(breaks)] + step/2

步骤2:分组计算区间平均温度

# 计算dat1各区间平均温度
avg1 <- dat1 %>%
  mutate(group = cut(Height, breaks = breaks, include.lowest = TRUE)) %>%
  group_by(group) %>%
  summarise(avg_temp = mean(Temp, na.rm = TRUE)) %>%
  mutate(dataset = "数据集1", height = mid_height/1000) # 高度转换为km单位

# 计算dat2各区间平均温度
avg2 <- dat2 %>%
  mutate(group = cut(Height, breaks = breaks, include.lowest = TRUE)) %>%
  group_by(group) %>%
  summarise(avg_temp = mean(Temp, na.rm = TRUE)) %>%
  mutate(dataset = "数据集2", height = mid_height/1000)

# 合并结果用于绘图
plot_df <- bind_rows(avg1, avg2)

步骤3:绘制对比曲线

ggplot(plot_df, aes(x = avg_temp, y = height, color = dataset)) +
  geom_line(linewidth = 1) +
  geom_point(size = 2) +
  labs(x = "平均温度(℃)", y = "高度(km)", color = "数据来源") +
  theme_bw()

补充说明

  • 若需调整区间参数,直接修改min_height、max_height、step三个变量的数值即可,例如步长改为5km只需将step设为5000
  • 空区间会自动返回NA值,绘图时自动跳过,不会影响结果展示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 18:45:02