首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TTR runSD返回所有NA

TTR runSD返回所有NA
EN

Stack Overflow用户
提问于 2020-12-24 05:41:36
回答 1查看 49关注 0票数 2

我认为这来自R/包更新,但现在当我尝试计算包含安娜的timeseries的运行标准差时,我得到的结果是NA (当前是R版本4.0.3,TTR_0.24.2)

如何获取:

代码语言:javascript
复制
TTR::runSD(x = c(NA, 1:10), n = 1, cumulative = TRUE)

要排除/忽略NA而不是返回:

代码语言:javascript
复制
 [1] NA NA NA NA NA NA NA NA NA NA NA

更像这样的东西:

代码语言:javascript
复制
 [1] NA NaN 0.7071068 1.0000000 1.2909944 1.5811388 1.8708287 2.1602469 2.4494897 2.7386128 3.0276504

EDIT理想情况下返回在R版本3.5.2和TTR_0.23-4下执行的操作:

代码语言:javascript
复制
> TTR::runSD(x = c(NA, 1:10), n = 1, cumulative = TRUE)
 [1]       NA       NA 1.000000 1.172604 1.414214 1.677051 1.949359 2.226732 2.507133 2.789489 3.073181
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-24 05:47:08

一种选择是创建一个函数并仅更新那些具有非NA元素的元素

代码语言:javascript
复制
f1 <- function(vec) {
      i1 <- !is.na(vec)
      vec[i1] <- TTR::runSD(x = vec[i1], n = 1, cumulative = TRUE)
      vec
  }

f1(c(NA, 1:10))
#[1]        NA       NaN 0.7071068 1.0000000 1.2909944 1.5811388 1.8708287 2.1602469 2.4494897 2.7386128 3.0276504
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65431269

复制
相关文章

相似问题

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