平均一列,每15行
问题描述:
我有一个数据集(数据表)有三列:平均一列,每15行
- 日期
- 时间
- 价格
数据集是每隔一分钟在和我需要将其转换为十五分钟的时间间隔。要做到这一点,我想每15行的平均价格。我需要在一个新的数据框中(比原来少15行),所以我可以复制/粘贴到另一个已经有15分钟间隔的数据集中。
我试图通过获得每15行的平均值,其具有下面的代码来创建一个新的列表:
means.price <- dt.Energy.prices[, mean(dt.Energy.prices$Lowest_price_downward), by=
(seq(nrow(dt.Energy.prices)) - 1) %/% 15]
我得到一个新的数据集,所有的手段都是NA。 Means.price有大约70,000 obs。原来有105万左右。它创建了一个数据集,它是原来的1/15,但手段仍然缺失。
有时列价格有NA。所以有时候所有15个都是NA,但有时候5行有一个值,其他10个有NA。如果它是15,我可以确定输出平均值NA,但是当有一些数值已知时,我希望有一种方法来平均已知值。
答
在避免转换为时间序列(尽管这可能有利于进一步处理此数据)时,一个简单的方法是在mean()
的电话中给我们na.rm = TRUE
。
这里是如何工作的一个例子:
> mean(c(2, 0, 0, 0))
[1] 0.5
> mean(c(2, 0, 0, NA))
[1] NA
> mean(c(2, 0, 0, NA), na.rm = TRUE)
[1] 0.6666667
从你的代码,它是不是很清楚Lowest_price_downward是什么,但是从你所描述的方式,这可能帮助。
means.price <- dt.Energy.prices[, mean(dt.Energy.prices$Lowest_price_downward,
na.rm = TRUE),
by = (seq(nrow(dt.Energy.prices)) - 1) %/% 15]`
因为它不适用于“请为我写这篇文章”,虽然它偶尔会发生。本网站旨在说明“此处的代码*不起作用,您是否可以帮助我确定/修复此错误”。这个问题需要遵循[可重现的问题]的一些原则(http://*.com/questions/5963269/how-to-make-a-great-r-reproducible-example);我建议您阅读该链接以及[最小/可验证的问题](http://*.com/help/mcve),然后回来编辑您的问题,以包含*示例数据*和您不相关的代码。 – r2evans
好的,谢谢!第一次使用网站! – Max
我编辑了我的评论,以解释我到目前为止尝试过的东西! – Max