Câu hỏi:
Có cách nào để chỉ định định dạng Ngày khi sử dụng đối số colClasses trong read.table / read.csv không?
(Tôi nhận ra rằng tôi có thể chuyển đổi sau khi nhập, nhưng với nhiều cột ngày như thế này, sẽ dễ dàng hơn để thực hiện điều đó trong bước nhập)
Thí dụ:
Tôi có .csv với các cột ngày ở định dạng %d/%m/%Y
.
dataImport <- read.csv("data.csv", colClasses = c("factor","factor","Date"))
Điều này làm cho chuyển đổi sai. Ví dụ, 15/07/2008
trở thành 0015-07-20
.
Mã có thể lặp lại:
data <-
structure(list(func_loc = structure(c(1L, 2L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 5L), .Label = c("3076WAG0003", "3076WAG0004", "3076WAG0007",
"3076WAG0009", "3076WAG0010"), class = "factor"), order_type = structure(c(3L,
3L, 1L, 1L, 1L, 1L, 2L, 2L, 3L, 1L), .Label = c("PM01", "PM02",
"PM03"), class = "factor"), actual_finish = structure(c(4L, 6L,
1L, 2L, 3L, 7L, 1L, 8L, 1L, 5L), .Label = c("", "11/03/2008",
"14/08/2008", "15/07/2008", "17/03/2008", "19/01/2009", "22/09/2008",
"6/09/2007"), class = "factor")), .Names = c("func_loc", "order_type",
"actual_finish"), row.names = c(NA, 10L), class = "data.frame")
write.csv(data,"data.csv", row.names = F)
dataImport <- read.csv("data.csv")
str(dataImport)
dataImport
dataImport <- read.csv("data.csv", colClasses = c("factor","factor","Date"))
str(dataImport)
dataImport
Và đây là kết quả đầu ra:
read.table
và thêm mộtformat
đối số được chuyển đếnas.Date
. Tuy nhiên, tôi sẽ không ngạc nhiên nếu có một cách tốt hơn mà tôi chưa nghĩ ra.