目前,我很难在数据框架内获得平均值。
df就是这样构建的:
'data.frame': 365 obs. of 5 variables:
$ Day : chr "01" "02" "03" "04" ...
$ Month : Factor w/ 12 levels "01","02","03",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Year : chr "2019" "2019" "2019" "2019" ...
$ XXX : int 2 4 5 5 7 6 6 7 6 6 ...
$ Weekday : Factor w/ 7 levels "Monday","Tuesday",..: 2 3 4 5 6 7 1 2 3 4 ...我想得到值XXX的平均值,但仅为第一个月(my_data$Month == "01")。我试着用dplyr过滤它,但是找不到..
(为了理解: XXX中每天有一个值,df是全年的)
有人能帮忙吗?会很感激的!
发布于 2020-02-10 22:42:54
这个R基解决方案应该这样做:
mean(df$XXX[df$month=="01"], na.rm = T)解释:
使用函数mean计算数据格式df中变量XXX的平均值,使用参数na.rm = T确保删除该计算中缺少的值(NAs),但在列month中具有01值的行上对数据进行子集,以便仅在列XXX中的相应值上计算平均值。
编辑
以防万一你想计算的不仅仅是一个月,而是所有的月份,你可以用aggregate一次一次地计算。
aggregate(month ~ XXX, data = df, mean)https://stackoverflow.com/questions/60159225
复制相似问题