簡體   English   中英

R 從時間序列中刪除最近一周

[英]R remove latest week from time series

我有一個時間序列數據集,其中包含一個列yearweek和第三個數值。 從這個數據集中,我想刪除去年的最后一周,因為它不完整。

我的嘗試:

subset(data , year== max(as.numeric(as.character(data$year))) & week == max(data$week))

但是,此代碼的問題在於它返回一個空的 dataframe,因為在最大年份的子集中不存在最大周數。

我怎樣才能做到這一點?

更新:是我正在使用的數據示例的鏈接

我們可以根據yearweekarrange數據,並刪除數據最后一行出現的weekyear值。

library(dplyr)

data %>%
  type.convert(as.is = TRUE) %>%
  arrange(year, week) %>%
  filter(!(year == last(year) & week == last(week)))

基本 R 中的相同邏輯:

data <- type.convert(with(data, order(year, week)), as.is = TRUE)
subset(data, !(year == year[nrow(data)] & week == week[nrow(data)]))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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