我想计算该系列中每个月和年的缺失值 (NA) 数量,并绘制几列的条形图。 如何从数据框中提取这些信息?
b <- read.table(text = ' Date AAA BBB CCC DDD EEE
49 1999-12-15 24.8 21.4 25.6 35.0 17.4
50 1999-12-16 NA 0.6 1.5 6.3 2.5
51 1999-12-17 NA 16.3 20.3 NA 19.2
52 1999-12-18 13 1.6 NA 6.3 0.0
53 1999-12-19 10 36.4 12.5 26.8 24.9
54 1999-12-20 NA 0.0 0.0 0.2 0.0
55 1999-12-21 0.2 0.0 0.0 0.0 0.0
56 1999-12-22 0.0 0.0 0.0 0.0 0.0')
head(b)
谢谢你
您问了两个问题,但为了解决标题中的问题,您可以使用
NA
中的 AAA 到 EEE 来计算 dplyr
值(请注意数据略有变化):
b %>%
mutate(ym = format(as.Date(Date), "%Y-%m")) %>%
summarise(NA_count = sum(across(AAA:EEE, ~sum(is.na(.x)))),
.by = ym)
# ym NA_count
# 1 1999-01 3
# 2 1999-02 2
# 3 1999-03 0
注意我将您的示例数据更改为具有多个年月组:
b <- read.table(text = ' Date AAA BBB CCC DDD EEE
49 1999-1-15 24.8 21.4 25.6 35.0 17.4
50 1999-1-16 NA 0.6 1.5 6.3 2.5
51 1999-1-17 NA 16.3 20.3 NA 19.2
52 1999-2-18 13 1.6 NA 6.3 0.0
53 1999-2-19 10 36.4 12.5 26.8 24.9
54 1999-2-20 NA 0.0 0.0 0.2 0.0
55 1999-3-21 0.2 0.0 0.0 0.0 0.0
56 1999-3-22 0.0 0.0 0.0 0.0 0.0')