【发布时间】:2020-07-16 20:08:52
【问题描述】:
我有一个由年、月和测量值组成的简单数据框。我想创建一个“标准化”列,该列等于将该时间戳值除以属于同一月份的所有测量值的平均值。我结束了这个循环,但我确信有一种更清洁的方法可以使用 tidyverse 中的一些东西来完成它
for (i in 1:nrow(my_data)){
my_data[i,"Normalized"] <- my_data[i, "MERRA2"]/ mean_monthly[[my_data[i,"Month"]]]
}
mean_monthly 在哪里
mean_monthly <- apply(merra2_data[,2:13], 2, mean, na.rm=T)
数据帧的头部
Year Month MERRA2 Normalized
1 2000 1 7.217474 1.0267520
2 2000 2 7.700417 1.0625818
3 2000 3 8.004980 1.0532328
4 2000 4 7.994653 0.9930986
5 2000 5 8.317802 1.1213321
6 2000 6 6.734449 0.9501416
【问题讨论】: