多年数据的子集

问题描述 投票:-2回答:1

我有一个数据集,里面有2003-2019年的每日价格数据。我想从中创建一个具有指定年份数据的子集,例如2011-2015年。我正在使用子集函数,但当我提到年份的间隔时,子集的数据只有7天中的1天,而不是所述年份的所有日子的数据。

sub <- subset(data, format(as.Date(data$Date),"%Y")==c(2011:2015))

我试过拆分函数,但那会创建一个数据框列表,我不知道如何在ggplot或统计分析中使用。

sub <- split(data, format(as.Date(data$Date),"%Y")==c(2011:2015))

是否有更好的方法来进行子集,使我能够提取我想要的年份的每日数据?

r split subset
1个回答
0
投票

假设 Date 是标准格式的,你可以尝试用.NET技术。

sub_data <- subset(data, as.integer(format(as.Date(Date),"%Y")) %in% 2011:2015)

或者用 dplyrlubridate :

library(dplyr)
library(lubridate)

sub_data <- data %>% filter(year(ymd(Date)) %in% 2011:2015)
© www.soinside.com 2019 - 2024. All rights reserved.