【发布时间】:2011-09-19 14:20:18
【问题描述】:
我在将数据聚合到日常数据时遇到了问题。 我有一个数据框,其中 NA 已被删除(数据图片链接如下)。数据每天收集 3 次,但有时由于 NA,每天只有 1 或 2 个条目;有些日子数据完全丢失。
我现在有兴趣计算“dist”的每日平均值:这意味着将一天的“dist”数据相加并除以每天的条目数(如果当天没有数据丢失)。我想通过循环来做到这一点。 我怎样才能用循环做到这一点?问题是有时我每天有 3 个条目,有时只有 2 个甚至 1 个。我想告诉 R,每天,它应该总结“dist” 并除以每天可用的条目数。
我只是不知道如何为此目的制定一个 for 循环。如果您能就这个问题给我任何建议,我将不胜感激。感谢您的努力和亲切的问候,
一月
数据框:http://www.pic-upload.de/view-11435581/Data_loop.jpg.html
编辑:我按照建议使用了聚合和点击,但是,数据的平均值并没有真正计算出来:
Group.1 x
1 2006-10-06 12:00:00 636.5395
2 2006-10-06 20:00:00 859.0109
3 2006-10-07 04:00:00 301.8548
4 2006-10-07 12:00:00 649.3357
5 2006-10-07 20:00:00 944.8272
6 2006-10-08 04:00:00 136.7393
7 2006-10-08 12:00:00 360.9560
8 2006-10-08 20:00:00 NaN
使用的代码是:
dates<-Dis_sub$date
distance<-Dis_sub$dist
aggregate(distance,list(dates),mean,na.rm=TRUE)
tapply(distance,dates,mean,na.rm=TRUE)
【问题讨论】:
-
查看包“zoo”,它可以处理缺少数据的时间序列。