2014-04-02 117 views
0

我正在與2載體合作不同長度105,102。打電話給他們y1,y2R:將不同長度的載體轉換成固定時間間隔

雖然他們的長度不同,但每個向量都代表30秒內發生的活動。

假定所有矢量的第一個元素開始在時間= 0秒,我能夠繪製出來用下面的代碼:

y1 <- plot(seq(0,100,length = 105), rnorm(length(seq(0,100,length = 105))), type = "l") 
y2 <- plot(seq(0,100,length = 102), rnorm(length(seq(0,100,length = 102))), type = "l") 
l <- length(y1) 
x <- seq(0,l,length= l) 
y <- y1 
plot(x, y, type = "l", xlab = "time", ylab = "bla") 


l <- length(y2) 
x <- seq(0,l,length= l) 
y <- y2 
lines(x,y, type = "l") 

現在上面的代碼會產生具有x軸的曲線圖測距從$(0,105)$。但是,我希望x軸顯示$(0,30)$秒。

我知道的主要問題是兩個向量的長度不同,但假設我想沿時間間隔$ 0 - 30 $秒拆分每個向量的元素。

我該如何解決這個問題?

+0

你是'rnorm()'你的'y1,y2'生成的矢量圖嗎?我不清楚你的線條圖的x和y值是什麼。矢量的元素如何與(0,30)間隔相關? – Marco

+0

是的。您可以將向量表示爲由'rnorm'函數生成的值的時間序列。我確實將問題概括了一下,但這不應該影響這個問題的主要觀點。 – mynameisJEFF

+0

矢量的值並不重要。主要問題是矢量的長度不同。但我們可以放心地假設這兩個向量的第一個元素始終在時間= 0開始 – mynameisJEFF

回答

2

我認爲OP只是希望在30秒的時間間隔內平均分配每個y矢量,並繪製相同的圖。在這種情況下,下面應該做的伎倆。從本質上講,對於x說法plotlines功能,我們需要提供一種具有等於y相應的參數元素的數量的元件數矢量,從0攤開30.

set.seed(1234) 
y1 <- rnorm(length(seq(0,100,length = 105))) 
y2 <- rnorm(length(seq(0,100,length = 102))) 
plot((30/length(y1))*seq_along(y1), y1, type = 'l',col='red', xlab='time', ylab='y') 
lines((30/length(y2))*seq_along(y2), y2, col='green') 

其給出

enter image description here

+0

做得好,但是,OP需要了解每個矢量的實際採樣間隔是多少。沒有這一點,他只是在繪製矢量與均勻間隔的x軸向量時自欺欺人。 –