2012-10-30 134 views
3

我在R非常新手。我很抱歉我的天真問題。我的數據rollapply滑動窗口

部分如下:

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軸)VS POS(X軸),但它不是繪製的。我也想在POS欄中應用滑動窗口。窗口如下(即,窗口大小爲1000和200的滑動):

1--1000 
200 ---1200 
400 ---1400 
600 ----1600 
-------- 

如果POS列中的數字是位於每個窗口,計算的Obs_FCT平均值。 (X軸使用窗口的中點)。

有人可以告訴我如何使用R代碼來實現這一目標嗎?一般我知道,也許我可以通過rollapply得到我想要的。但它似乎需要一個功能。

+4

如果你在搜索窗口中輸入'[R] rollapply'上面,你會得到一些以前討論。請看看他們是否解決你的問題。 –

+0

你可能會看看package'caTools'的'runmean()' – Ali

回答

1

我將您的數據複製到一個文本文件中,並使用read.table將其讀入到R中。使用繪圖命令給你想要的結果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) 

這使得在Y軸X軸和Obs_FCT POS機的陰謀。

從包caTools runmean,讓你做一個運行中位數。您可以指定窗口中的點數,但不能指定窗口的滑動方式。

> md <- runmean(x=d$Obs_FCT, k=1000) 

然後,您可以陰謀:

plot(d$POS, md)