2014-04-02 46 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轴向量时自欺欺人。 –