[英]R Time Series with Date Frequency
我正在嘗試使用來自 csv 文件的數據創建一個時間序列圖,其格式如下表所示。
Date Crime
2015-12-17 07:26:00 Vandalism
2015-12-17 11:04:00 Theft
2015-06-18 12:32:00 Murder
.
.
.
我想顯示一年中每天所有犯罪的頻率。 而且我還希望能夠顯示每種犯罪類型的頻率。 我對 R 有點陌生,所以我想知道最有效的方法是什么?
我假設您的數據框是純文本,因為您是從 csv 文件中讀取的。 您可以使用dput
命令與我們共享它。 這是我之前准備的一個:
df = structure(list(
Date = c("2015-12-17 07:26:00", "2015-12-17 11:04:00", "2015-06-18 12:32:00"),
Crime = structure(c(3L, 2L, 1L), .Label = c("Murder", "Theft", "Vandalism"), class = "factor")),
class = "data.frame", row.names = c(NA, -3L), .Names = c("Date", "Crime"))
您可以使用lubridate
的ymd_hms
命令將Date
列轉換為實際日期:
library(lubridate)
df$Date = ymd_hms(df$Date)
然后您可以將 Date-Time 構造轉換為純日:
df$Date = as.Date(df$Date)
現在,您可以按常規方式按Date
和Crime
進行聚合。 這是dplyr
方式:
library(dplyr)
df %>% group_by(Date, Crime) %>% summarise(count = n())
輸出:
# A tibble: 3 x 3
# Groups: Date [?]
Date Crime count
<date> <fctr> <int>
1 2015-06-18 Murder 1
2 2015-12-17 Theft 1
3 2015-12-17 Vandalism 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.