在特定日期之前和之后拆分数据

时间:2014-03-29 21:47:12

标签: r date split dataframe

我有一个数据帧,我想把它分成两个不同的数据框,一个在某个日期之前,一个在日期之后。哪个是最好的代码,我已经尝试过拆分代码,但似乎无法让它工作?

2 个答案:

答案 0 :(得分:2)

喜欢这个吗?

df  <- data.frame(date=as.Date("2013-01-01")+1:365, x=1:365)
lst <- split(df,df$date<as.Date("2013-06-01"))

这会将df分成2个数据帧,一个包含2013-06-01之前的日期,另一个包含后续日期。您可以访问lst[1]lst[2]

的数据框

答案 1 :(得分:1)

让我告诉您如何使用data.table非常快速轻松地完成此操作。

require(data.table)
my_df = data.table(a=seq.Date(from=as.Date("2012-01-01"), by=1, len=10),b=10:1)
N = as.Date("2012-01-05") #where you want to split
df1 = my_df[a<N]
df2 = my_df[a>=N]