首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >滚动应用滑动窗口

滚动应用滑动窗口
EN

Stack Overflow用户
提问于 2012-10-31 05:33:08
回答 1查看 723关注 0票数 3

我是R的新手,我为我天真的问题感到抱歉。

我的部分数据如下:

代码语言:javascript
运行
复制
POS         Obs_FCT
4345     0.10049191
4484     0.08930793
4515    -0.00468725
4547    -0.00749802
4628     0.01143598
5347     0.05673895
6071     0.01143598
6449    -0.00070778
6498    -0.0109962
7320     0.00543984
7457    -0.00206247
7761     0.08018589
7875    -0.00601304
7988    -0.00070778
9459     0.01447144
9483     0.08269899
9495    -0.03353229
9552    -0.00206247
9602    -0.0269909
9701    -0.00206247
11809   -0.01952417
12593   -0.02173826
16787    0.08930793
17049   -0.06738125
17058    0.01325792

我想绘制Obs_FCT (Y轴)与POS (X轴)之间的关系,但根本没有绘制。我还想在POS列上应用一个滑动窗口。窗口如下(即窗口大小为1000,滑动200):

代码语言:javascript
运行
复制
1--1000
200 ---1200
400 ---1400 
600 ----1600
--------

如果POS列中的数字位于每个窗口中,则计算Obs_FCT的平均值。(X轴使用窗口的中点)。

有人能告诉我如何使用R代码来实现这一点吗?一般来说,我知道也许我可以通过rollapply得到我想要的东西。但似乎需要一个函数。

EN

回答 1

Stack Overflow用户

发布于 2013-03-19 20:29:40

我将您的数据复制到一个文本文件中,并使用read.table将其读取到R中。使用plot命令可以得到您想要的结果

代码语言:javascript
运行
复制
> d<-read.table("path/to/file.txt", header=TRUE, sep="")
> head(d)
   POS     Obs_FCT
1 4345  0.10049191
2 4484  0.08930793
3 4515 -0.00468725
4 4547 -0.00749802
5 4628  0.01143598
6 5347  0.05673895
>plot(d)

这将生成一个在X轴上使用POS机,在Y轴上使用Obs_FCT的绘图。

来自caTools包的runmean,让你得到一个运行的中位数。可以指定窗口中的点数,但不能指定窗口的滑动方式。

代码语言:javascript
运行
复制
> md <- runmean(x=d$Obs_FCT, k=1000)

然后,您可以绘制:

代码语言:javascript
运行
复制
plot(d$POS, md)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13147890

复制
相关文章

相似问题

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