簡體   English   中英

R 時間序列與日期頻率

[英]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"))

您可以使用lubridateymd_hms命令將Date列轉換為實際日期:

library(lubridate)
df$Date = ymd_hms(df$Date)

然后您可以將 Date-Time 構造轉換為純日:

df$Date = as.Date(df$Date)

現在,您可以按常規方式按DateCrime進行聚合。 這是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM