2012-10-08 77 views
8

Tôi có tập dữ liệu với số tuần từ đầu năm (%W), mà tôi muốn chuyển đổi thành ngày để vẽ nó theo ngày trên trục xChuyển đổi các tuần trong năm sang ngày

dat <- structure(data.frame(week = c(22, 34, 15), year = c(2009, 2009, 2010), x = c(3.4, 5.2, 1.3))) 

Tôi cố gắng chuyển đổi các tuần dựa trên earlier questions tại đây, nhưng cuối cùng sẽ nhận được "YYYY-10-01" cho mỗi ngày.

as.Date(paste("01", dat$week, dat$year, sep = "-"), format = "%d-%W-%Y") 

Tại sao điều này và cách thực hiện đúng?

Trả lời

10

Hãy thử điều này thay vì:

as.Date(paste("1", dat$week, dat$year, sep = "-"), format = "%w-%W-%Y") 

Một tuần và một năm không chỉ định một ngày, vì vậy bạn cần một "ngày", nhưng bạn cần phải "ngày trong tuần", hoặc %w, thay vì "ngày trong tháng" hoặc %d. Trong trường hợp này, tôi đã sử dụng thứ Hai (tức là 1). Ngoài ra, dường như %w không thích số 0 đứng đầu.

Các vấn đề liên quan