簡體   English   中英

R:將不同長度的矢量轉換為固定的時間間隔

[英]R: convert vectors of different lengths into a fixed time interval

我正在使用2個不同長度的矢量105,102 叫他們y1,y2

雖然它們的長度不同,但每個向量代表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美元的時間間隔分割每個向量的元素。

我該怎么做呢?

我認為OP只是希望在30秒的時間間隔內均勻分布每個y向量並繪制相同的圖。 在這種情況下,以下應該做的伎倆。 本質上,對於plotlines函數的x參數,我們需要提供的元素數量等於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')

這使

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM