我有一个excel文件(.xlsx),其中包含三列,包含标题:' datetime'(例如:10/1/2008 0:10,10 / 01/2008 0:20等) ,' RH'(例如:0.46)和' wind_mps'(例如:3.71)。我希望将10分钟间隔数据转换为RH和wind_mps列的每小时平均数据。
我无法将Excel数据插入此问题。对于那个很抱歉。如果有人告诉我怎么做,我可以编辑我的问题。
在how to convert by the minute data to hourly average data in R已经回答了类似的问题,但我是R的新手并且无法对我的数据使用相同的技术。我也尝试过使用动物园' chron'和' xts'用于执行此操作的包,如http://rpubs.com/hrbrmstr/time-series-machinations中所示,但它们似乎在R 3.02中不起作用。
我尝试在Excel中执行此操作,但无法找到相当简单的技术。
我能够实现类似的任务,即使用Excel宏将每小时数据转换为另一个数据集的每日平均值,但我无法对10分钟数据执行此操作。宏如下:
Global year As Integer
Sub Calculate()
Dim start_year As Integer
Dim end_year As Integer
Dim cell_count As Integer
start_year = Cells(19, "M").Value
end_year = Cells(48, "M").Value
year = start_year
cell_count = 19
Do While year < (end_year + 1)
Dim row As Integer
Dim sum As Double
Dim count As Integer
Dim init_row As Integer
init_row = 6
sum = 0
count = 0
Dim cv As Integer
cv = 3
Do Until cv = year
cv = Cells(init_row, "C").Value
init_row = init_row + 1
Loop
row = init_row - 1
Worksheets("Sheet1").Activate
Dim cv1 As Integer
cv1 = Cells(row, "C").Value
Do While cv1 = year
sum = sum + Cells(row, "F").Value
count = count + 1
row = row + 1
cv1 = Cells(row, "C").Value
Loop
Cells(cell_count, "N").Value = sum
Cells(cell_count, "O").Value = count
Cells(cell_count, "P").Value = sum / count
cell_count = cell_count + 1
year = year + 1
Loop
End Sub
使用R,Excel函数,宏或任何其他技术对我来说并不重要。如果有人能告诉我如何将RH和wind_mps的约50000个值的数据集转换为每小时平均值,那就太棒了。
提前致谢。
答案 0 :(得分:1)
这可以通过Excel数据透视表很容易地完成......
Insert
&gt; Pivot Table
在数据透视表设计器中:
Value Field Settings
&gt; Average
在数据透视表中:
Group
,然后从出现的列表中选择Hours
这应该可以为您提供您在没有编程的情况下所要做的事情
希望这可以做你想要的事情