[英]R remove latest week from time series
我有一個時間序列數據集,其中包含一個列year
、 week
和第三個數值。 從這個數據集中,我想刪除去年的最后一周,因為它不完整。
我的嘗試:
subset(data , year== max(as.numeric(as.character(data$year))) & week == max(data$week))
但是,此代碼的問題在於它返回一個空的 dataframe,因為在最大年份的子集中不存在最大周數。
我怎樣才能做到這一點?
更新:這是我正在使用的數據示例的鏈接
我們可以根據year
和week
來arrange
數據,並刪除數據最后一行出現的week
和year
值。
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.