0
私はすべての行にタイムスタンプがある多くのデータを持っています。私は、行間の時間差を持つベクトルを作りたい。ここではダミーの時系列である:データの行間の時間差。 forループよりも速い方法がありますか?
start.day <- as.POSIXct("2010-11-25 04:13:00 WET")
end.day <- as.POSIXct("2016-11-25 16:25:35 WET")
days.seq <- seq.POSIXt(start.day,end.day,'mins')
days.seq <- sample(days.seq,100000)
days.seq <- days.seq[order(days.seq)]
私はfor
ループを開始するが、それは計算を行うためにループのための年齢を取る:
start.time <- Sys.time()
time.diff <- NULL
for (i in 2:length(days.seq)) {
time.diff[i]<- difftime(days.seq[i],days.seq[i-1],units = 'mins')
}
time.diff[1] <- 0
time.diff
end.time <- Sys.time()
difftime(end.time,start.time,'secs')
私はRが速く、これを行うことができますどのように?
理由だけではなく、 '差分(days.seqはるかに高速であることがわかりました) '? – Khashaa