Bạn chỉ có thể sử dụng chức năng format
như sau:
format(Date, '%Y%j')
mang đến cho:
[1] "2016161" "2016162" "2016163"
Nếu bạn muốn định dạng nó theo những cách khác, xem ?strptime
cho tất cả các tùy chọn có thể.
Ngoài ra, bạn có thể sử dụng year
và yday
chức năng từ data.table
hoặc lubridate
gói và dán chúng lại với nhau với paste0
:
library(data.table) # or: library(lubridate)
paste0(year(Date), yday(Date))
mà sẽ cung cấp cho bạn kết quả tương tự.
Giá trị được trả về bởi cả hai tùy chọn là ký tự lớp. Quấn các giải pháp trên vào as.numeric()
để nhận số thực.
đã qua sử dụng dữ liệu:
> Date <- Sys.Date() + 1:3
> Date
[1] "2016-06-09" "2016-06-10" "2016-06-11"
> class(Date)
[1] "Date"
@ katya-handler Về cơ bản tất cả các định dạng khác (Ngày,) chức năng, đã không nhận ra% j tồn tại. Nếu những người khác tồn tại tôi muốn biết, đã tham khảo trang web này: [link] (http://www.statmethods.net/input/dates.html) – LanceS
Phần 'định dạng' trong tài liệu của [' as.Date'] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/as.Date.html) liên kết đến tài liệu liên quan của ['strptime'] (https: //stat.ethz.ch/R-manual/R-devel/library/base/html/strptime.html) trong đó tất cả các thông số kỹ thuật chuyển đổi theo thời gian được liệt kê. – RHertel