如何用该时间戳的所有观测值的平均值替换一个时间戳的值

樱桃

在处理 R 中的时间序列问题时,我对一个时间戳有多个观察,如何将一个时间戳的值替换为此时间戳所有观察的平均值并删除所有重叠的时间戳行。

例如,我有一个这样的时间序列:

Date={2016-3-1, 2016-4-1, 2016-4-1, 2016-4-1,2016-5-1,2015-5-1, 2016-6-1).
Price={111,122,124,155,142,177,134}

我的预期结果是这样的:

Date={2016-3-1,2016-4-1,2016-5-1,2017-6-1}, 
Price={111,133.67,159.5,134 }
(133.67=mean(122,124,155), 159.5=mean(142,177))
深海扇

这是你追求的吗?

Date=c("2016-3-1", "2016-4-1", "2016-4-1", "2016-4-1","2016-5-1","2015-5-1", "2017-6-1")
Price=c(111,122,124,155,142,177,134)

library(dplyr)
library(lubridate)
df <- data.frame(Date = ymd(Date), Price = Price)
df %>% 
  group_by(ymd(Date)) %>%
  summarise(mean = sprintf("%0.2f",mean(Price, na.rm = TRUE)))

# # A tibble: 5 x 2
#     `ymd(Date)` mean  
#     <date>      <chr> 
# 1 2015-05-01  177.00
# 2 2016-03-01  111.00
# 3 2016-04-01  133.67
# 4 2016-05-01  142.00
# 5 2017-06-01  134.00

如果你也希望baseR这也有效:

print(aggregate(list(Mean=df$Price), list(Date = df$Date), mean), digits = 5)

#       Date   Mean
# 1 2015-05-01 177.00
# 2 2016-03-01 111.00
# 3 2016-04-01 133.67
# 4 2016-05-01 142.00
# 5 2017-06-01 134.00

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获得上一个时间戳值:mysql

如何使用上一个时间戳的值填充空列

多次出现时替换一个时间序列中的一个值

如何计算时间戳的平均值

在一个时间间隔内生成时间戳范围并查询所有重叠事件

熊猫:如何用该列的平均值替换一列中的零值,对于所有具有零值的列

C程序根据给定的时间戳找到一系列值的窗口平均值

用熊猫中另一个时间序列的值替换一个时间序列的值

如何在 Oracle 中从另一个时间戳中减去一个时间戳

按某一列将数据帧压缩为包含第一个和最后一个时间戳以及值均值的行

通过另一个时间戳列压缩列中的值

获取下一个时间戳值

为每个字段选择最后一个时间戳值的字段

如何用该值的子字符串替换一个值?

如何用该值+常数替换一个值

python中两个时间戳的平均值

当新的时间戳值等于前一个时间戳值时,DataStax / Cassandra的USING TIMESTAMP行为是不可预测的

Pyspark:时间戳的平均值

在Mysql中,如何在一个时间窗口中连续数天取平均值?

如何获得时间戳的平均值?PostgreSQL的

无论哪种类型的值(整数,时间戳等),都可以动态计算平均值

如何比较两个时间戳以查看一个时间戳是否晚了超过特定的分钟数?

如何删除行,当时间戳与另一个时间戳完全一样

选择每个日期的最后一个时间戳

自行加入下一个时间戳

查找HDF5表中一列中每个唯一值的上一个时间戳的有效方法

SQL获取一个时间范围内的所有值-以及之前的值

在pyspark中的两个时间戳之间创建一个时间戳数组

如何将先前的时间戳预测作为下一个时间戳的附加输入?