수정시간 형식으로 R

0

질문

나는 열의 타임 스탬프에서 레이스 시간은 로그를 주신 하나 HH:MM:SS 형식이나 MM:SS 형식입니다. 내가 필요로 변환할 문자에서 시간 형식으로 나를 사용하는 것입니다.POSIXct 하지만 처음 나가는 데 문제가 다루는 관측는 형식은 MM:SS 반대로 HH:MM:SS. 때 적용됩니다.POSIXct 열,오류가 발생하기 때문에 모든 관찰이 없이 동일 형식입니다. 에 추가하려면 어떻게 해야 하"00:"를"59:34"timestamp?

시간 "59:34" "32:07" "1:08:06"

r
2021-11-24 05:12:40
2

최고의 응답

3

기본 R 옵션

x <- c("59:34", "32:07", "1:08:06")
as.POSIXct(ifelse(nchar(x) > 5, x, paste0('00:', x)), format = '%T', tz = 'UTC')

#[1]"2021-11-24 00:59:34 UTC" "2021-11-24 00:32:07 UTC" "2021-11-24 01:08:06 UTC"

이 없기 때문에 날짜 데이터 as.POSIXct 추가합니다 오늘 날짜입니다.

2021-11-24 05:55:51

흥미롭습니다. 가 그 두 번째 라인 당신은 여기에 제공됩니다. 하지만 w/out 형식이 및 타임존도 있습니다. 무엇이 형식으로 할까요?
Père Noël

format 을 제공하며 사용자의 입력 데이터의 형식입니다. as.POSIXctYYYY-MM-DD HH:MM:SS 형식으로 하기 때문에 우리의 입력은 서로 다른 형식으로 우리를 지정해야 하는 따로 있습니다. %T 사용되는 데이터가 있는 경우에 HH:MM:SS 형식입니다. 더 많은 정보에서 다른 형식 ?strptime.
Ronak Shah
2

여기에는 솔루션을 사용하여 lubridate::hms. 을 사용하려는 경우 as.POSIXct대체 코드입니다.

가정한 모든 값은 하나 MM:SS 또는 HH:MM::SS.

ts1 은 원래 값 ts2 pre-가 붙으로"00:"필요한 경우 및 ts3 최종 값입니다.

library(dplyr)
library(stringr)
library(lubridate)

data.frame(ts1 = c("59:34", "32:07", "1:08:06")) %>% 
  mutate(ts2 = ifelse(str_count(ts1, ":") == 1, paste0("00:", ts1), ts1), 
         ts3 = hms(ts2))

결과:

      ts1      ts2      ts3
1   59:34 00:59:34  59M 34S
2   32:07 00:32:07   32M 7S
3 1:08:06  1:08:06 1H 8M 6S
2021-11-24 05:35:25

제가 약간의 문제를,마지막 밤 코드를 일했지만 오늘이 오류가:"오류가:문제 mutate()ts3. 나 ts3 = hms(ts2). x 모든 인수해야 숫자나 NA"
Père Noël

총<-데이터입니다.프레임(ts1=남성입니다.데이터$총입니다.Tim)%>%변형(ts2=ifelse(str_count(ts1,":")==1,paste0("00:",ts1),ts1),ts3=hms(ts2))<<<이것은 어떻게 내가 내 코드 총입니다.팀 내 시간을 벡터입니다.
Père Noël

는지 확인하려 할 것입의 데이터 gun 도움이됩니다. 코드 작동 예를 들어 데이터에서는 문제입니다.
neilfws

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................