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

R语言中基于Datetime列计算含复数列的均值问题

问题解决:按时间分组计算复数列的均值

错误原因分析

你的代码存在两个关键问题:

  • 列索引错误:df[, A]中的A是复数向量,不属于合法的列索引类型(必须是逻辑、数值或字符),应改用列名"A"或列位置索引。
  • 数据源错误:代码中引用了未定义的df2,你实际定义的数据框是df,需改为df$datetime。

正确实现方法

方法1:aggregate公式写法(基础R风格)

这种写法逻辑直观,适合基础R用户:

agg_df <- aggregate(A ~ datetime, data = df, FUN = mean)

方法2:aggregate的by参数写法

若习惯用by指定分组变量,可采用这种形式:

agg_df <- aggregate(df$A, by = list(datetime = df$datetime), FUN = mean)
colnames(agg_df)[2] <- "A_mean"  # 可选:给均值列重命名

方法3:dplyr tidyverse风格

如果熟悉tidyverse生态,这种写法更简洁易读:

library(dplyr)

agg_df <- df %>%
  group_by(datetime) %>%
  summarise(A_mean = mean(A), .groups = "drop")

验证结果

运行上述代码后,会得到按时间分组的复数均值:

  • 2022-10-01 01:00:00 的均值:2.125+3.25i
  • 2022-10-01 01:30:00 的均值:5.05+2.525i

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:45:31