Tôi đang sử dụng R để vẽ một số dữ liệu.Ngắt dòng khi không có dữ liệu trong ggplot2
Date <- c("07/12/2012 05:00:00", "07/12/2012 06:00:00", "07/12/2012 07:00:00",
"07/12/2012 08:00:00","07/12/2012 10:00:00","07/12/2012 11:00:00")
Date <- strptime(Date, "%d/%m/%Y %H:%M")
Counts <- c("0","3","10","6","5","4")
Counts <- as.numeric(Counts)
df1 <- data.frame(Date,Counts,stringsAsFactors = FALSE)
library(ggplot2)
g = ggplot(df1, aes(x=Date, y=Counts)) + geom_line(aes(group = 1))
g
Làm cách nào để yêu cầu R không vẽ dữ liệu dưới dạng đường liên tục khi có thời gian nghỉ ngơi? Tôi thường có một điểm dữ liệu mỗi giờ, nhưng đôi khi có một break (từ 8 giờ sáng đến 10 giờ sáng). Giữa những điểm này, tôi không muốn đường kết nối. Điều này có thể xảy ra trong R?
Sửa
Rất cám ơn cho những câu trả lời ở đây. Dữ liệu của tôi hiện đang trong khoảng thời gian 10 giây và tôi muốn thực hiện cùng một phân tích bằng cách sử dụng dữ liệu này.
df <- structure(list(Date = c("11/12/2012", "11/12/2012", "11/12/2012",
"11/12/2012", "11/12/2012", "11/12/2012", "11/12/2012",
"11/12/2012", "11/12/2012", "11/12/2012", "11/12/2012"),
Time = c("20:16:00", "20:16:10", "20:16:20", "20:16:30",
"20:16:40", "20:16:50", "20:43:30", "20:43:40",
"20:43:50", "20:44:00", "20:44:10"),
Axis1 = c(181L, 14L, 65L, 79L, 137L, 104L, 7L, 0L, 0L,
14L, 0L),
Steps = c(13L, 1L, 6L, 3L, 8L, 4L, 1L, 0L, 0L, 0L, 0L)),
.Names = c("Date", "Time", "Axis1", "Steps"),
row.names = c(57337L, 57338L, 57339L, 57340L, 57341L, 57342L,
57502L, 57503L, 57504L, 57505L, 57506L), class = "data.frame")
Tôi nghĩ rằng tôi hiểu những gì đang cố gắng để làm, khi nó bổ sung thêm cột 'nhóm' đến dataframe gốc, nhưng câu hỏi của tôi xung quanh như thế nào tôi nhận được R để biết các dữ liệu hiện đang ở 10 khoảng thứ hai ? Khi tôi áp dụng dòng đầu tiên của mã để xác định xem các số có liên tục hay không có khoảng trống (ví dụ idx < - c (1, diff (df $ Time)), tôi nhận được lỗi sau:
Lỗi trong r [i1] - r [-length (r) :-(chiều dài (r) - lag + 1L)]: đối số không phải số để toán tử nhị phân
Sau biến 'Thời gian', tôi có cần phải thêm 'as.POSIXct' để đảm bảo nhận ra thời gian chính xác?
(+1) Tuy nhiên, trong trường hợp này, nó giống như OP mong đợi các giá trị thiếu trong dữ liệu của anh ta, phải không? :-) – juba
Rất cám ơn. Có cách nào để làm điều này tự động mà không nhìn vào các tập tin dữ liệu cá nhân (như tôi có> 1000 tập tin để chạy theo cách này, và tôi sẽ không có khả năng có thể nhìn vào từng cái một?). Và @ Juba - vâng, tôi mong đợi số không. Trong dữ liệu thực của tôi, nếu có 20 phút số 0 liên tục, chúng sẽ bị xóa. –
Có, miễn là bạn biết rằng khoảng thời gian là luôn luôn 1 giờ, chúng tôi có thể làm điều này. Cho tôi một phút, tôi sẽ chỉnh sửa bài đăng. – Arun