R:如何计算列中元素的每日数据的年度平均值和其他操作
R: How to calculate year-wise mean and other operations on daily data for elements in a column
请帮帮我。我已经卡了很久了。我是 R 初学者,我想知道如何使用多个索引对数据框元素执行操作,例如公司和时间在下面的情况下优雅吗?我想执行一些典型的操作,例如对每家公司的一些其他变量进行年度平均,这是一个例子:
我想根据数据集中所有公司的变量 A 和 F 的每日数据计算年度平均值。这是我的dataset。我使用过 dplyr 和 hydroTSM 包。以下是我的代码:
MeanA<- df %>% select(Firm, Date, A,) %>% group_by(Firm) %>% do(daily2annual(., A, FUN=mean, na.rm = TRUE, out.fmt="%Y", dates = 2))
它returns出现以下错误:
Error in eval(expr, envir, enclos) : argument is missing, with no default
我还尝试了 data.table 包并添加了一个额外的年份列。代码:
MeanA <- df[ , A, by = "Firm" & "Year"]
结果:
Error in `[.data.frame`(df, , A, by = "Firm" & "Year") : unused argument(by = "Firm" & "Year")
请提出出路(有或没有 dplyr)。 table 的平均值,以及我将计算的其他年度值, 是使用 plm 包进行面板回归分析的输入。 提前致谢。
尝试
MeanA<- df %>%
select(Firm, Date, A) %>%
group_by(Firm) %>%
do(daily2annual(., A, mean, na.rm = TRUE, dates = .$Date))
好吧,这不是一个很好的答案,但我已经厌倦了。如果你想要公司的年度平均值,我从日期字段中提取年份,然后在 aggregate
函数中使用它。
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)
请帮帮我。我已经卡了很久了。我是 R 初学者,我想知道如何使用多个索引对数据框元素执行操作,例如公司和时间在下面的情况下优雅吗?我想执行一些典型的操作,例如对每家公司的一些其他变量进行年度平均,这是一个例子: 我想根据数据集中所有公司的变量 A 和 F 的每日数据计算年度平均值。这是我的dataset。我使用过 dplyr 和 hydroTSM 包。以下是我的代码:
MeanA<- df %>% select(Firm, Date, A,) %>% group_by(Firm) %>% do(daily2annual(., A, FUN=mean, na.rm = TRUE, out.fmt="%Y", dates = 2))
它returns出现以下错误:
Error in eval(expr, envir, enclos) : argument is missing, with no default
我还尝试了 data.table 包并添加了一个额外的年份列。代码:
MeanA <- df[ , A, by = "Firm" & "Year"]
结果:
Error in `[.data.frame`(df, , A, by = "Firm" & "Year") : unused argument(by = "Firm" & "Year")
请提出出路(有或没有 dplyr)。 table 的平均值,以及我将计算的其他年度值, 是使用 plm 包进行面板回归分析的输入。 提前致谢。
尝试
MeanA<- df %>%
select(Firm, Date, A) %>%
group_by(Firm) %>%
do(daily2annual(., A, mean, na.rm = TRUE, dates = .$Date))
好吧,这不是一个很好的答案,但我已经厌倦了。如果你想要公司的年度平均值,我从日期字段中提取年份,然后在 aggregate
函数中使用它。
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)