2016-06-03 2 views
1

시간 및 날짜 값을 가진 하나의 열과 속도 값이 다른 하나의 열에는 주어진 시간 동안 다음과 같이 속도 값을 보간하고 싶지만 오류가 발생합니다.시간 값에 대한 스플라인 보간

이것은 데이터 세트입니다.

startTimestamp  avg_Speed 
2016-04-11 00:01:07 74.45 
2016-04-11 00:05:10 73.58 
2016-04-11 00:06:09 89.90 

내가 말에서 속도의 값을 보간 할 - "0시 3분 11초는"난 그냥 그래서 스플라인 기능,

newspeed <- splinefun(k$startTimestamp, k$avg_Speed, method = "monoH.FC") 
newspeed("00:03:11") 

을 사용 그리고 이것은 내가 오류입니다. (IR ...

몇 가지 추가 정보 | - (IL < - (I == 0))

오류 경우 (extrapol == "선형"& & 어떤 (iXtra <에서 : class(f$startTimestamp) = "POSIXct" "POSIXt"

답변

0

나는 쉽게 문제를 해결할 수 있습니다 숫자 (분)로 클래스를 변경하는 생각

# making data (you needn't) 
k <- data.frame(startTimestamp = c("2016-04-11 00:01:07", "2016-04-11 00:05:10", "2016-04-11 00:06:09"), 
       avg_Speed = c(74.45, 73.58, 89.90)) 
k[,1] <- as.POSIXct(k[,1], "GMT") 

# changing class (POSIXct -> difftime -> numeric) 
zero_time <- as.POSIXct("2016-04-11 00:00:00", "GMT") # using your time zone 
k$difftime <- as.numeric(difftime(k$startTimestamp, zero_time)) 
class(k$difftime) ## "numeric" (min) 

# interpolate 
newspeed <- splinefun(k$difftime, k$avg_Speed, method = "monoH.FC") 
newspeed(3 + 11/60) # or newspeed(as.numeric(as.difftime("00:03:11"))) 
      ## results [1] 69.66494 
.