2014-06-16 14 views
5

tôi có thể khởi tạo một data.frame quaCách khởi tạo data.frame với cột kiểu POSIXct?

df <- data.frame(a=numeric(), b=character()) 

Nhưng làm thế nào để xác định một cột kiểu POSIXct?

df <- data.frame(a=numeric(), b=character(), c=POSIXct()) 

sẽ không hoạt động.

+2

lẽ 'df <- data.frame (a = số(), b = ký tự(), c = as.POSIXct (nhân vật())) ' làm những gì bạn muốn? – konvas

+0

@konvas Cảm ơn, đó là, những gì tôi đang tìm kiếm. Bạn có thể viết nó như là câu trả lời và tôi sẽ cho bạn phần thưởng. – JerryWho

+0

OK vui vì nó hoạt động. Cảm ơn – konvas

Trả lời

5

Bạn có thể thử

df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character())) 
0

Một tip bổ sung cho các khởi tạo ở trên: Nếu bạn bắt đầu rbind() hoạt động để thêm hàng vào khung dữ liệu trống này, bạn có thể gặp phải một lỗi như sau nếu bạn làm theo này mẫu:

oneDF <- rbind(oneDF,twoDF,stringsAsFactors=FALSE) 
Error in as.POSIXct.default(value) : 
    do not know how to convert 'value' to class "POSIXct" 

tôi cuối cùng đã phát hiện ra rằng loại bỏ các stringsAsFactors = FALSE cho phép giá trị POSIXct (cả hai số nguyên thời gian và múi giờ) để chuyển sang mục tiêu DF.

oneDF <- rbind(oneDF,twoDF) 

kiểm tra kết quả:

unclass(oneDF$mytime) 
[1] 1282089600 
attr(,"tzone") 
[1] "GMT" 
Các vấn đề liên quan