2011-12-22 4 views
0

2 번 뺄셈에서 답 형식을 지정하려고합니다. 대한 (R 형식의 시간 차이에 대한 답변

> timer2$tdif2 <- as.numeric(strptime(as.character(timer2$time3), "%H:%M:%S:%OS") - strptime(as.character(timer2$time2), "%H:%M:%S:%OS")) 
> timer2$tdif1 <- as.numeric(strptime(as.character(timer2$time2), "%H:%M:%S%OS") - strptime(as.character(timer2$time1), "%H:%M:%S%OS")) 
> timer2$tdif2 <- as.numeric(strptime(as.character(timer2$time3), "%H:%M:%S:%OS") - strptime(as.character(timer2$time2), "%H:%M:%S:%OS")) 
> timer2$tdifMax <- as.numeric(strptime(as.character(timer2$time3), "%H:%M:%S.%OS") - strptime(as.character(timer2$time1), "%H:%M:%S.%OS")) 
> head(timer2) 
     time1  time2  time3   tdif1 tdif2 tdifMax 
1 08:00:20.799 08:00:20.799 08:00:20.799 0.0000000000 NA  0 
2 08:00:21.996 08:00:22.071 08:00:23.821 -0.9249999523 NA  2 
3 08:00:29.200 08:00:29.200 08:00:29.591 0.0000000000 NA  0 
4 08:00:31.073 08:00:31.372 08:00:31.384 0.2990000248 NA  0 
5 08:00:31.867 08:00:31.867 08:00:31.971 0.0000000000 NA  0 
6 08:00:37.174 08:00:38.073 08:00:38.153 -0.1010000706 NA  1 

나는 두 번째의 초 부분에서 답을 줄 tdif1, tdif2 및 tdif3하지만 그들 중 누구도에 두 번째 부분에 대해 서로 다른 서식 수식을 사용했습니다 : 여기

은 예입니다 tdif [2]이어야합니다 .075). 어떤 제안?

답변

8

형식이 잘못되었으므로 데이터는 "%H:%M:%OS" 형식입니다. 또한 숫자로 수학을하는 것이 좋습니다 - 항상 초를줍니다.

은 그래서 예 :

sec <- function(x) as.numeric(strptime(x, "%H:%M:%OS")) 

timer2$tdif1 <- sec(timer2$time2) - sec(timer2$time1) 
timer2$tdif2 <- sec(timer2$time3) - sec(timer2$time2) 
timer2$tdifMax <- sec(timer2$time3) - sec(timer2$time1) 

출력 :

> head(timer2) 
     time1  time2  time3  tdif1  tdif2 tdifMax 
1 08:00:20.799 08:00:20.799 08:00:20.799 0.00000000 0.00000000 0.0000000 
2 08:00:21.996 08:00:22.071 08:00:23.821 0.07500005 1.75000000 1.8250000 
3 08:00:29.200 08:00:29.200 08:00:29.591 0.00000000 0.39100003 0.3910000 
4 08:00:31.073 08:00:31.372 08:00:31.384 0.29900002 0.01200008 0.3110001 
5 08:00:31.867 08:00:31.867 08:00:31.971 0.00000000 0.10399985 0.1039999 
6 08:00:37.174 08:00:38.073 08:00:38.153 0.89899993 0.08000016 0.9790001 
+0

완벽한, 대단히 감사합니다! – screechOwl

+0

SO, Simon에 오신 것을 환영합니다. 좋은 "기능적"대답. –