首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据R中的另一列求出列的平均值

如何根据R中的另一列求出列的平均值
EN

Stack Overflow用户
提问于 2020-02-10 22:11:45
回答 1查看 2.1K关注 0票数 2

目前,我很难在数据框架内获得平均值。

df就是这样构建的:

代码语言:javascript
复制
'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是全年的)

有人能帮忙吗?会很感激的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-10 22:42:54

这个R基解决方案应该这样做:

代码语言:javascript
复制
mean(df$XXX[df$month=="01"], na.rm = T)

解释:

使用函数mean计算数据格式df中变量XXX的平均值,使用参数na.rm = T确保删除该计算中缺少的值(NAs),但在列month中具有01值的行上对数据进行子集,以便仅在列XXX中的相应值上计算平均值

编辑

以防万一你想计算的不仅仅是一个月,而是所有的月份,你可以用aggregate一次一次地计算。

代码语言:javascript
复制
aggregate(month ~ XXX, data = df, mean)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60159225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档