2013-05-31 3 views
0

첫 번째 두 열에 날짜/시간 정보가 문자 형식으로 포함 된 큰 데이터 집합이 있습니다.Chron to POSIXct

bigdata <- ldply (files, read.table,header=TRUE, sep = "\t", dec=".", as.is= 1:2) #read the tables keeping the charater format of the first two columns 
library("chron") 
Time<-chron(bigdata$Date, bigdata$Time, format= c(dates= "d.m.y", times="h:m:s")) 
Time2<- as.POSIXct(paste(as.Date(dates(Time)),times(Time)%%1)) #to POSIXct 

그 결과 나중에에 XTS 객체로 변환 할 때문에

 Date  Time     Current 
1 28.02.2013 23:58:50      NA 
2 28.02.2013 23:58:50      0.3 
3 28.02.2013 23:58:51      0.3 
4 28.02.2013 23:58:51      0.3 
5 28.02.2013 23:58:57      0.3 
6 28.02.2013 23:58:58      0.3 

, 나는 다음과 같은 코드를 사용하여 날짜 및 시간을 포함하는 타입 POSIXct 중 하나에이 두 개의 열을 변환

"2013-02-01 00:02:09 CET" "2013-02-01 00:02:12 CET" "2013-02-01 00:02:13 CET" "2013-02-01 00:02:13 CET" "2013-02-01 00:02:13 CET"..... 

이 (내가 이전의 결과를 사용하기 때문에 시간이 다른 알고 있지만 : 타임 2에 날짜와 POSIXct 객체와 하나의 열에있는 시간, 원하는 결과를주고있다 이 (

"2013-02-28 CET" "2013-02-28 CET" "2013-02-28 CET" "2013-02-28 CET" "2013-02-28 CET" "2013-02-28 CET" 

: 아이디어는 그러나 어떤 이상한 이유로, 것과 동일한 특성의 일부 데이터 세트와 함께 내가 전에 보여

) 동일, 내가 타임 2에 대해 무엇입니까 결과는 밝혀 시간은 위에서 보여준 데이터 집합의 추출물과 동일합니다.)

"시간"부분은 날짜 만 남겨두고 완전히 지워집니다. 여러 가지 데이터 세트에 동일한 코드를 적용했으며 대다수의 데이터 세트는 정상적으로 작동하지만 그 중 하나가이 문제를 제시합니다.

다른 결과가 나는 이유는 무엇입니까?

--------------------------- EDIT ------------------

> dput(head(Time2)) 
structure(c(1362006000, 1362006000, 1362006000, 1362006000, 1362006000, 
1362006000), class = c("POSIXct", "POSIXt"), tzone = "") 

> dput(head(Time)) 
structure(c(15764.9991898148, 15764.9991898148, 15764.9992013889, 
15764.9992013889, 15764.9992708333, 15764.9992824074), format = structure(c("d.m.y", 
"h:m:s"), .Names = c("dates", "times")), origin = structure(c(1, 
1, 1970), .Names = c("month", "day", "year")), class = c("chron", 
"dates", "times")) 
+1

'dput (head (problem_object)) '출력이 필요합니다. –

+0

묻는대로 내가 Time2 개체에서 명령을 실행하고 원래 질문에 결과를 추가하십시오 – Tarigarma

답변

0
: ---------------------

내가 모두에서 명령 dput을 실행 한

은 시간과 시간 2 헤라 결과입니다 오브젝트

왜 그저 한 번의 작업으로 그것을 수행하고 chron-class 객체를 통과하지 않습니까?

Time2<-as.POSIXct(paste(bigdata$Date, bigdata$Time), 
        format= "%d.%m.%Y %H:%M:%S") 

########## 
bigdata <- read.table(text=" Date  Time     Current 
1 28.02.2013 23:58:50      NA 
2 28.02.2013 23:58:50      0.3 
3 28.02.2013 23:58:51      0.3 
4 28.02.2013 23:58:51      0.3 
5 28.02.2013 23:58:57      0.3 
6 28.02.2013 23:58:58      0.3", header=TRUE, 
     stringsAsFactors=FALSE) 

library("chron") 
Time<-chron(bigdata$Date, bigdata$Time, format= c(dates= "d.m.y", times="h:m:s")) 
Time2<- as.POSIXct(paste(as.Date(dates(Time)),times(Time)%%1)) 
Time2 
[1] "2013-02-28 23:58:50 PST" "2013-02-28 23:58:50 PST" "2013-02-28 23:58:51 PST" 
[4] "2013-02-28 23:58:51 PST" "2013-02-28 23:58:57 PST" "2013-02-28 23:58:58 PST" 
관련 문제