计算从应用'中提取的信息;合计';在R

计算从应用'中提取的信息;合计';在R,r,aggregate,usage-statistics,R,Aggregate,Usage Statistics,我有以下资料: head(Callao20) 尽管我有NA,但我在下面还有更多信息。顺便问一下,你建议我删除这样的NA吗 无论如何,我想估算每个月的cv,然后每月估算以下参数: aggregate(Callao20[, 4], list(Callao20$Mes), mean) Group.1 x 1 Feb NA 2 Mar 17.84195 3 Abr 17.50487 4 May 16.77294 5 Jun

我有以下资料:

head(Callao20)

尽管我有NA,但我在下面还有更多信息。顺便问一下,你建议我删除这样的NA吗

无论如何,我想估算每个月的cv,然后每月估算以下参数:

aggregate(Callao20[, 4], list(Callao20$Mes), mean)
   Group.1        x
1      Feb       NA
2      Mar 17.84195
3      Abr 17.50487
4      May 16.77294
5      Jun 16.45750
6      Jul 15.53369
7      Ago 14.93071
8      Set 14.65176
9      Oct 14.60224
10     Nov 14.48786
11     Dic 14.47635
……而且:

aggregate(Callao20[, 4], list(Callao20$Mes), sd)
   Group.1         x
1      Feb        NA
2      Mar 0.6280132
3      Abr 0.7163050
4      May 0.3962204
5      Jun 0.4165841
6      Jul 0.3743657
7      Ago 0.4063140
8      Set 0.3538223
9      Oct 0.6060919
10     Nov 0.5034747
11     Dic 0.3035467
知道cv=(标准差/平均值)*100,你建议我如何根据我已有的数据估算每个月的cv值?


我建议在一个
aggregate
命令中执行此操作,而不是将其分解为单独的
aggregate
调用,然后尝试将它们组合起来

aggregate(Callao20[, 4], list(Callao20$Mes), 
          function(x) (sd(x, na.rm = TRUE)/mean(x, na.rm = TRUE))*100)

我们可以使用
tidyverse
,因为这样可以更好地处理
NA

library(dplyr)
Callao20 %>%
     group_by(Mes) %>%
     summarise(out = sd(Temp, na.rm = TRUE)/mean(Temp, na.rm = TRUE) * 100)

或者,如果我们想使用
聚合
,我们可以使用公式方法(
r4.1.0


“建议我删除此类NA”是一个很难回答的问题,因为这在很大程度上取决于数据的上下文和您的报告。例如,有些时候,
NA
s被认为是无用的,在这种情况下,删除它们可能是有用的。然而,很多时候,我发现仅仅是
NA
的存在就可以提供信息,即使我不知道为什么它没有数字。在这种情况下,删除它就是删除有用的数据(即使您还不知道如何聚合或使用丢失的数据)。
boxplot(Temp~Mes,data=Callao20)
请问,如何在图形中添加“cv”?提前感谢您的回答<代码>箱线图(Temp~Mes,data=Callao20)请问,如何在图形中添加“cv”?提前感谢您的回答@жжжжжаааааааааааааааа1072
library(dplyr)
Callao20 %>%
     group_by(Mes) %>%
     summarise(out = sd(Temp, na.rm = TRUE)/mean(Temp, na.rm = TRUE) * 100)
aggregate(Temp ~ Mes, Callao20,
        \(x) sd(x, na.rm = TRUE)/mean(x, na.rm = TRUE) * 100)