首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >标记三年平均值中有多少数据

标记三年平均值中有多少数据
EN

Stack Overflow用户
提问于 2020-01-30 23:00:22
回答 1查看 20关注 0票数 0

我有一个考虑年度时间序列和三年滚动平均值的数据集。

代码语言:javascript
运行
复制
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,我会在每个三年标记的旁边创建一个列,例如:

代码语言:javascript
运行
复制
 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

有什么提示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-30 23:19:46

您可以使用为此类任务构建的zoo包,并基本上计算所有不是NAs的值。

代码语言:javascript
运行
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59988822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档