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

如何在R语言中拆分风速列,按日期生成最小、最大风速列?

解决方案

用dplyr的分组汇总可以轻松实现需求,核心思路是按日期分组后,对每组的风速值分别计算最小值和最大值:

library(dplyr)

# 你的示例数据
df <- data.frame(date = rep(c("2000-01-01", "2000-01-02", "2000-01-03", "2000-01-04"), each = 2),
                 wind = rep(c(1,2),4))

# 转换为目标结构
df2 <- df %>%
  group_by(date) %>%
  summarize(
    minwind = min(wind),
    maxwind = max(wind),
    .groups = "drop"  # 取消分组,得到普通数据框
  )

这个方法不依赖风速值的排列顺序,不管每个日期下的两个风速是先最小值还是先最大值,都能准确提取对应结果。

如果确定每个日期的两个风速值是固定顺序(比如第一行是最小值、第二行是最大值),也可以用pivot_wider实现:

df2 <- df %>%
  group_by(date) %>%
  mutate(wind_type = c("minwind", "maxwind")) %>%
  ungroup() %>%
  pivot_wider(names_from = wind_type, values_from = wind)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 02:09:56