【发布时间】:2016-03-24 16:40:23
【问题描述】:
我环顾四周,但没有找到与我的问题完全匹配的解决方案。
我有一个数据集 (df1),其中包含从 1945 年到 1981 年的每日河流流量读数 - 所以它是一个非常大的数据集。
我想计算每个月、每年的平均流量。我可以使用数据透视表在 Excel 中执行此操作,但我想知道在 R 中是否会少很多麻烦。
我的问题是双重的。首先,我无法将日期转换为实际的日期格式(尽管尝试了推荐的代码),其次,一旦我对日期进行了排序,我不确定如何汇总数据集中每年的月平均值。我对 R 相当陌生 - 我一直在尽可能地查找教程,但这个特定问题似乎没有一个容易找到的解决方案。
所以,我的数据如下所示:
X1 X2
1 01/10/1945 0.835
2 02/10/1945 0.835
3 03/10/1945 0.835
4 04/10/1945 0.835
5 05/10/1945 0.835
6 06/10/1945 0.433
日期最初是字符格式,所以我使用代码
df1$X1<-as.Date(df1$X1,"%m/%d/%Y")
尝试将其转换为日期格式,但由于某种原因它一直在搞砸,日期中有几个空白:
8132 1968-05-01 4.163
8133 1968-06-01 4.134
8134 1968-07-01 1.464
8135 1968-08-01 1.682
8136 1968-09-01 1.036
8137 1968-10-01 0.564
8138 1968-11-01 0.575
8139 1968-12-01 0.547
8140 <NA> 10.590
8141 <NA> 16.760
8142 <NA> 3.879
8143 <NA> 11.410
日期以 12 个一组显示,因此我假设问题与“月份”的一些混淆有关,但我尝试了 d/m/Y 的几种不同组合,但没有一个有效。
总结一下,
- 如何将跨越多年的数据转换为日期格式而不会使 R 变得混乱?
- 对日期进行排序后,当我的数据跨越多年时,如何生成月度平均值?
非常感谢,
我
【问题讨论】:
-
你能显示生成
NA的字符串吗? -
请注意,
as.Date("13/10/1945", "%m/%d/%Y")将返回NA。您的日期是否可以根据%d/%m/%Y格式化?