2013-07-11 1 views
3

나는 약 800 만 개의 행과 3 개의 열이있는 데이터 프레임이 있습니다.R : strptime() 및 is.na() 예기치 않은 결과

df$date.time <- strptime(df$date.time, "%m/%d/%y %I:%M:%S %p") 

이 행의 1,104 만 모두 잘 작동 내가

df[is.na(df$date.time), ] 

나는이 "문제"데이터를 찾습니다 date.time 항목을 사용하여 검사 : 나는 다음과 같은 방식으로 strptime()을 사용 내가 기대하는 방식으로 형식화 된 것 같습니다. 예를 들어, 다음 문제로 등장 관측이다하지만, NA로 표시되지 않습니다 :

id    date.time    outcome 
observation543490 2012-03-11 02:14:01 C 

가능 is.na(df$date.time) 분명히이이 행에 대해 TRUE 값을 반환 여기에 갈 수 있는지 올바르게 변환 되었습니까? (당신이 CST 인 경우) 여기

은 재현 예제 :

is.na(strptime("03/11/12 2:14:01 AM", "%m/%d/%y %I:%M:%S %p", "CST6CDT")) 
#[1] TRUE 

답변

6

문제는 NA을 반환하는 모든 시간으로 인해 일광 절약에, 당신이 사용하는 어떤 시간대에 존재하지 않는 것 같다 시각.

데이터 소스를 확인하여 데이터가 기록 된 시간대를 확인한 다음 tz 인수를 strptime 전화에서 해당 값으로 설정하십시오.