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

如何从R语言月度平均数据集中提取指定年份8月流量数据?

解决R语言筛选河流8月流量数据的问题

错误原因

你报错的核心问题是把input1$mean_va当成函数调用了,但它只是数据框里的数值列,不是函数,所以会出现Error: attempt to apply non-function。

两种正确实现方法

方法1:基础R原生语法

直接通过行索引筛选符合条件的数据,再整理成目标数据集:

# 筛选1980-2021年、8月的行
filtered_rows <- input1[input1$year >= 1980 & input1$month == 8, ]

# 创建AugAvgs数据集,包含年份和平均流量列
AugAvgs <- data.frame(
  year = filtered_rows$year,
  avg = filtered_rows$mean_va
)

注意:要确保你的input1数据框里确实存在year(年份列)和month(月份列),列名必须和代码里的一致,要是实际列名是大写(比如YEAR),要对应修改。

方法2:用tidyverse包(更直观易读)

如果习惯更简洁的语法,可以用dplyr工具包来筛选:

# 先安装包(首次使用时执行)
# install.packages("tidyverse")
library(tidyverse)

AugAvgs <- input1 %>%
  filter(year >= 1980, month == 8) %>%  # 筛选年份≥1980且月份为8的行
  select(year, avg = mean_va)           # 保留年份列,并把mean_va重命名为avg

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:01:18