Dưới đây là một số dữ liệu giả:
data <- structure(list(time = structure(c(1338361200, 1338390000, 1338445800, 1338476400, 1338532200, 1338562800, 1338618600, 1338647400, 1338791400, 1338822000), class = c("POSIXct", "POSIXt"), tzone = ""), variable = c(168L, 193L, 193L, 201L, 206L, 200L, 218L, 205L, 211L, 230L)), .Names = c("time", "variable"), row.names = c(NA, -10L), class = "data.frame")
data
time variable
1 2012-05-30 09:00:00 168
2 2012-05-30 17:00:00 193
3 2012-05-31 08:30:00 193
4 2012-05-31 17:00:00 201
5 2012-06-01 08:30:00 206
6 2012-06-01 17:00:00 200
7 2012-06-02 08:30:00 218
8 2012-06-02 16:30:00 205
9 2012-06-04 08:30:00 211
10 2012-06-04 17:00:00 230
Để hiển thị ngày tháng và thời gian ở trên trục, bạn có thể sử dụng chức năng axis.POSIXct
:
plot(data, xaxt="n")
axis.POSIXct(side=1, at=cut(data$time, "days"), format="%m/%d")
Bạn có thể kiểm soát nơi ve rơi với at
(đối với chức năng thông thường axis
ngoại trừ ở đây nó sẽ được cung cấp với các đối tượng của lớp POSIXct) và kiểm soát cách chúng sẽ xuất hiện với format
.
Theo như subsetting là có liên quan, miễn là đối tượng dateTime1 và dateTime2 của bạn cũng là đối tượng POSIXct bạn có thể làm điều đó như bạn sẽ làm bất kỳ loại khác của subsetting.
dateTime1 <- strptime("00:00 05/31/2012", format="%H:%M %m/%d/%Y")
dateTime2 <- strptime("3 Jun 2012 05-30", format="%d %b %Y %H-%M")
data[data$time < dateTime2 & data$time > dateTime1, ]
time variable
3 2012-05-31 08:30:00 193
4 2012-05-31 17:00:00 201
5 2012-06-01 08:30:00 206
6 2012-06-01 17:00:00 200
7 2012-06-02 08:30:00 218
8 2012-06-02 16:30:00 205
Bạn có thể hiển thị biểu đồ dữ liệu của mình như thế nào không? Tôi gặp khó khăn khi hiểu 'thời gian' của bạn có thể là cả số và dạng '% H:% M:% S% p% m /% d /% Y' cùng một lúc. – plannapus