로그 데이터가 있으며 시작 날짜 및 종료 날짜 시간 스탬프를 기록합니다.
로그 파일의 데이터는 Excel에서 미리 준비된 데이터 와 같습니다.
Start_Date1 Start_Time1 Start_Millisecond1 Start_Date2 Start_Time2 Start_Millisecond2
29-11-2015 18:25:04 671 29-11-2015 18:40:05 275
29-11-2015 18:25:03 836 29-11-2015 18:40:04 333
10-11-2015 02:41:57 286 10-11-2015 02:51:52 690
Rstudio를 사용하여 R에 데이터를로드 할 때. 데이터 클래스는 다음과 같습니다.
날짜를 POSIXlt로 변환하기 위해 아래 코드 줄을 사용하고 있습니다.
nov$Start.Date1<-as.POSIXlt(as.character(nov$Start.Date1), format="%d-%m-%Y")
nov <-read.csv(file = '././data/Data For R Nov CBEFF log.csv',header = TRUE,na.strings = FALSE,stringsAsFactors = FALSE)
str (nov $ Start.Time1)
nov $ Start.Date1 <-as.POSIXlt (as.character (nov $ Start.Date1), format = "% d- % m- % Y")
nov $ Start.Time1 <-as.POSIXlt (as.character (nov $ Start.Time1), format = "% H : % M : % S") nov $ Start.Time1 <-format (nov $ Start.Time1, 형식 = "% H : % M : % S")
nov $ Start.Date2 <-as.POSIXlt (as.character (nov $ Start.Date2), format = "% d- % m- % Y")
nov $ Start.Time2 <-as.POSIXlt (as.character (nov $ Start.Time2), format = "% H : % M : % S") nov $ Start.Time2 <-format (nov $ Start.Time2, 형식 = "% H : % M : % S")
**
**
StartTime1 및 StartTime2는 이제 chr 데이터 유형입니다.
이것은 트릭을 할 것입니다. 데이터 (재현 가능한 예)를 게시했다면 코드를 확인할 수 있습니다. 이렇게하면 오타가있을 수 있습니다.
nov<-read.delim("sample.csv", sep=";", dec=".")
nov$start1<-as.POSIXlt(paste(nov$Start_Date1,nov$Start_Time1 ,sep=" "), format="%d-%m-%Y %H:%M:%S")
nov$start2<-as.POSIXlt(paste(nov$Start_Date2,nov$Start_Time2 ,sep=" "), format="%d-%m-%Y %H:%M:%S")
nov$timediff<-as.numeric(difftime(nov$start2,nov$start1, unit="secs"))*1000+(nov$Start.Milisecond2-nov$Start.Milisecond1)
이것은 밀리 초 단위의 시간을 제공합니다.
편집 샘플 데이터로 확인되었습니다. 변수 이름이 "Start.Date1"에서 "Start_Date1"로 변경되었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다