首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在一个精确的回溯周期中使用R中的比例?

如何在一个精确的回溯周期中使用R中的比例?
EN

Stack Overflow用户
提问于 2015-07-24 11:33:47
回答 1查看 320关注 0票数 5

我想对一些数据进行缩放,我知道如何用

代码语言:javascript
运行
复制
(scale(data.test[,1],center=TRUE,scale=TRUE))

我有365个观察(一年),并希望缩放和集中我的数据在20天的回溯期。

例如,我想这样做:“20天回溯期的规范化”意味着,要缩放我的第一个值01/01/2014 (dd/mm/yy),我必须只在20天前进行缩放。所以,从11/12/13到31/12/13以及02/01/14比额表的数值从12/12/13到01/01/14等等。

将数据规范化为=(数据-所有数据的平均值/所有数据的标准差)(请参阅我的代码)

但是,正如我想要的"20天回溯期“意味着我只需要查看20个最后的值,它将是=(数据-20个先前数据的平均值)/20个先前数据的标准差。

我想也许要做个循环?因为我对R很陌生,我不知道如何用R写一个循环,或者即使有更好的方法来做我想做的事情。如果你能帮我解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-24 12:14:13

您需要一个20天的回溯:lookback<-20 data.scale<-c() #Create a vector for the data scaled for(i in lookback:nrow(data)){ mean<-mean(data[i-(lookback-1):i,1],na.rm=T) sd<-sd(data[i-(lookback-1):i,1],na.rm=T)*sqrt(((lookback-1))/lookback) data.scale<-c(data.scale,(data[i,1]-mean)/sd) }

对于第20行,您希望使用从第1天到第20天的数据,从第2天到第21天的第21天,等等.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31609510

复制
相关文章

相似问题

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