首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:如何对列中元素的日数据计算按年计算的平均值和其他操作

R:如何对列中元素的日数据计算按年计算的平均值和其他操作
EN

Stack Overflow用户
提问于 2016-03-05 18:24:59
回答 2查看 2.8K关注 0票数 0

请帮帮我。我已经被困了很久了。我是一个R初学者,我想知道如何使用多种指标(如公司和时间)来执行数据帧元素的操作,如下面的例子。我想对每个公司的其他变量进行一些典型的运算,例如按年平均,下面是一个例子:我想从数据集中所有公司的变量A和F的每日数据中计算出按年计算的平均值。这是我的数据集。我使用了dplyr和hydroTSM包。以下是我的代码:

代码语言:javascript
复制
MeanA<- df %>% select(Firm, Date, A,) %>% group_by(Firm) %>% do(daily2annual(., A, FUN=mean, na.rm = TRUE, out.fmt="%Y", dates = 2))

它返回以下错误:

代码语言:javascript
复制
Error in eval(expr, envir, enclos) : argument is missing, with no default

我还尝试了data.table包,添加了一个额外的年份专栏。代码:

代码语言:javascript
复制
MeanA <- df[ , A, by = "Firm" & "Year"]

结果:

代码语言:javascript
复制
Error in `[.data.frame`(df, , A, by = "Firm" & "Year") : unused argument(by = "Firm" & "Year")

请建议一条出路(有或不带dplyr)。该表的均值,以及其他按年计算的数值,是输入面板回归分析使用plm软件包。提前感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-05 20:00:45

嗯,这不是一个很好的答案,但我已经厌倦了工作。如果您想要公司的年平均值,我从date字段中提取年份,然后在aggregate函数中使用这个值。

代码语言:javascript
复制
df$Date = as.Date(df$Date, "%m/%d/%Y")
df$F = as.numeric(df$F)
df$Year = as.Date(paste(substr(df$Date, 1, 4), "1", "1",sep="-"), "%Y-%m-%d")
newDat = aggregate(cbind(A, E, F) ~ Firm + Year, df, FUN = mean)
票数 1
EN

Stack Overflow用户

发布于 2016-03-05 18:30:21

试一试

代码语言:javascript
复制
MeanA<- df %>%
    select(Firm, Date, A) %>%
    group_by(Firm) %>%
    do(daily2annual(., A, mean, na.rm = TRUE, dates = .$Date))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35817981

复制
相关文章

相似问题

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