【发布时间】:2016-01-04 12:26:49
【问题描述】:
我的数据框中有大量列,超过 4000 列。一列是日期,其余的是公司(列名)。我有 14 年的每日观察(作为行)使其成为 164 个月。我想根据日期列计算每月平均值,最重要的是,只有在每列至少有 15 个观察值时才应计算平均值(公司) 否则应返回 NA。
df<- Spread
Date A B C
2000-01-04 0.062893082 0.030769231 NA
2000-01-05 0.062893082 0.015503876 NA
2000-01-06 0.062893082 NA NA
2000-01-07 0.062893082 NA NA
2000-01-10 0.062893082 NA NA
2000-01-11 0.062893082 NA NA
2000-01-12 0.062893082 NA NA
2000-01-13 0.062893082 NA NA
2000-01-14 0.062893082 NA NA
2000-01-17 0.052910053 NA NA
2000-01-18 0.031413613 NA NA
2000-01-19 0.052910053 NA NA
2000-01-20 0.051282051 NA NA
2000-01-21 0.051282051 0.014184397 NA
2000-01-24 0.051282051 0.014184397 NA
2000-01-25 0.051282051 0.014184397 NA
2000-01-26 0.051282051 0.014184397 NA
2000-01-27 0.051282051 0.019914651 NA
2000-01-28 0.031088083 0.028571429 NA
2000-01-31 0.031088083 0.028571429 NA
我想要的输出
Monthly<- df
Month A B C
Jan-2000 0.053656996 NA NA
非常感谢您的帮助。以及我想要将这些值四舍五入到小数点后 4 位的任何想法,例如 0.062893082 到 0.0628。
【问题讨论】:
标签: r if-statement dataframe average multiple-columns