标记三年平均值中存在多少数据
Flagging how many data are present in a triennial average
我有一个考虑年度时间序列和三年滚动平均值的数据集。
country city 2014 2015 2016 2017 2018 2019 2014-16 2015-17 2016-18 2017-19
US NYC 2 5 4 5 8 1 3.6 4.6 5.6 4.6
France Paris NA 2 1 4 NA 1 1.5 2 2.5 1.6
Iran Tehran 1 NA NA NA 1 1 1 NA 1 1
有些三年期平均值包括数据 3,有些则包括 2、1 或 0。
如果数据考虑 3、2、1 或 0,例如:
,我会在每三年一次的标记旁边创建一个专栏
country city 2014 2015 2016 2017 2018 2019 2014-16 n. of data 14-16 2015-17 n.of data 20115-17
US NYC 2 5 4 5 8 1 3.6 3 etc etc
France Paris NA 2 1 4 NA 1 1.5 2 etc etc
Iran Tehran 1 NA NA NA 1 1 1 1 etc etc
有什么提示吗?
您可以使用为此类任务构建的 zoo
包,基本上计算所有非 NA 的值,即
library(zoo)
t(apply(df[-c(1:2)], 1, function(i)rollapply(i, 3, by = 1, function(j)sum(!is.na(j)))))
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#[1,] 3 3 3 3 3 3 3 3
#[2,] 2 3 2 2 2 3 3 3
#[3,] 1 0 1 2 3 2 2 2
我有一个考虑年度时间序列和三年滚动平均值的数据集。
country city 2014 2015 2016 2017 2018 2019 2014-16 2015-17 2016-18 2017-19
US NYC 2 5 4 5 8 1 3.6 4.6 5.6 4.6
France Paris NA 2 1 4 NA 1 1.5 2 2.5 1.6
Iran Tehran 1 NA NA NA 1 1 1 NA 1 1
有些三年期平均值包括数据 3,有些则包括 2、1 或 0。 如果数据考虑 3、2、1 或 0,例如:
,我会在每三年一次的标记旁边创建一个专栏 country city 2014 2015 2016 2017 2018 2019 2014-16 n. of data 14-16 2015-17 n.of data 20115-17
US NYC 2 5 4 5 8 1 3.6 3 etc etc
France Paris NA 2 1 4 NA 1 1.5 2 etc etc
Iran Tehran 1 NA NA NA 1 1 1 1 etc etc
有什么提示吗?
您可以使用为此类任务构建的 zoo
包,基本上计算所有非 NA 的值,即
library(zoo)
t(apply(df[-c(1:2)], 1, function(i)rollapply(i, 3, by = 1, function(j)sum(!is.na(j)))))
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#[1,] 3 3 3 3 3 3 3 3
#[2,] 2 3 2 2 2 3 3 3
#[3,] 1 0 1 2 3 2 2 2