R 计算两个日期之间的平均付款额(仅为正数)

R 计算两个日期之间的平均付款额(仅为正数),r,dataframe,R,Dataframe,我有一个包含日期和付款列的数据框。这两列还包含一些NA值。问题是计算2009年1月1日至2015年12月31日之间的平均付款,只考虑正付款,并从计算中删除NA值。 这是我的密码: average <- mean(df$payment[which(df$payment > 0)] [with(df, df$date >= "2009-01-01" & df$date <= "2015-12-31", na.rm = TRUE)], na.rm = TRUE) av

我有一个包含日期和付款列的数据框。这两列还包含一些NA值。问题是计算2009年1月1日至2015年12月31日之间的平均付款,只考虑正付款,并从计算中删除NA值。 这是我的密码:

average <- mean(df$payment[which(df$payment > 0)] [with(df, df$date >= "2009-01-01" & df$date <= "2015-12-31", na.rm = TRUE)], na.rm = TRUE)

average 0)][使用(df,df$date>=“2009-01-01”&df$date我们可以将“date”列转换为
date
类(如果未转换),然后通过创建付款大于0且(
&
)的逻辑向量来子集“付款”“日期”列的值在“2009-01-01”到“2015-12-31”的范围内,获取
平均值

df$date <- as.Date(df$date)
with(df,  mean(payment[payment > 0 & 
                       date >= as.Date("2009-01-01") & 
                       date <= as.Date("2015-12-31")], na.rm = TRUE))
df$日期0&
日期>=截止日期(“2009-01-01”)&
日期