R 滚动应用滑动窗口

R 滚动应用滑动窗口,r,R,我是R的新手。我为我天真的问题感到抱歉 我的部分数据如下: 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 7

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

我的部分数据如下:

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\u FCT
(Y轴)与
POS
(X轴),但它根本不绘制。我还想在
POS
列上应用一个滑动窗口。窗口如下(即窗口大小为1000,滑动200):

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


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

我将数据复制粘贴到文本文件中,并使用read.table将其读入R。使用plot命令可以得到所需的结果
plot

> 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)

如果在上面的搜索窗口中输入
[r]rollapply
,您将看到许多以前的讨论。请查看他们是否解决了您的问题。您也可以查看包
caTools
runmean()
> 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)
> md <- runmean(x=d$Obs_FCT, k=1000)
plot(d$POS, md)