我希望在R中对包含整数值和偶尔NA的数据框中的列求平均值。
数据框名为CD6(气候区划 6),其初始化为NA值,以存储属于气候分区6的所有数据的平均值。行代表日期,列表示从0到23的小时。数据框如下所示:
我编写了一个for循环,将迭代遍历CA数据帧中的每一行,并映射到正确的气候分区(在此示例中为CD6,指气候分区6)。问题是我不知道有多少行属于每个气候分区,以便正确计算平均值。
只看CD6,我想获取特定小时每个日期的平均值,如果存在真实值,则忽略NA,并且最终答案是整数(该值的上限)。如果各个气候分区所有小时的值都为NA, 我想保持它不变,而不是为0。CD6的最终结果应如下所示:
数据框名为CD6(气候区划 6),其初始化为NA值,以存储属于气候分区6的所有数据的平均值。行代表日期,列表示从0到23的小时。数据框如下所示:
> CD6
Date H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 ... H23
1948-07-01 NA NA NA NA NA NA NA NA NA NA NA ... NA
1948-07-02 NA NA NA NA NA NA NA NA NA NA NA ... NA
1948-07-03 NA NA NA NA NA NA NA NA NA NA NA ... NA
名为CA的数据框包含了所有气候分区(从1到7)的真实值。数据框大致如下:
> CA
Climate_Division Date H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 ... H23
6 1948-07-01 NA NA NA NA NA NA NA NA NA NA NA ... NA
5 1948-07-01 0 1 1 3 0 0 0 0 0 0 0 ... 2
6 1948-07-01 0 1 1 3 0 0 0 0 0 0 0 ... 2
6 1948-07-01 1 0 0 5 7 0 1 1 1 0 0 ... 0
6 1948-07-02 0 2 1 2 1 1 NA 0 1 0 1 ... 2
6 1948-07-03 NA NA NA NA NA NA NA NA NA NA NA ... NA
我编写了一个for循环,将迭代遍历CA数据帧中的每一行,并映射到正确的气候分区(在此示例中为CD6,指气候分区6)。问题是我不知道有多少行属于每个气候分区,以便正确计算平均值。
只看CD6,我想获取特定小时每个日期的平均值,如果存在真实值,则忽略NA,并且最终答案是整数(该值的上限)。如果各个气候分区所有小时的值都为NA, 我想保持它不变,而不是为0。CD6的最终结果应如下所示:
> CD6
Date H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 ... H23
1948-07-01 1 1 1 4 4 0 1 1 1 0 0 ... 1
1948-07-02 0 2 1 2 1 1 NA 0 1 0 1 ... 2
1948-07-03 NA NA NA NA NA NA NA NA NA NA NA ... NA
我不太清楚如何编写代码并使其高效。因此,任何建议都将是有帮助的,感谢您的时间。
dput(CA)
的输出粘贴在这里,以便我们可以重现你的数据? - CHP