【发布时间】:2019-03-03 10:50:48
【问题描述】:
我有一个像这样的不平衡面板数据集。
date firms return
2003-03-01 A 2
2003-04-01 A 5
2003-05-01 A 1
2003-06-01 A 4
2003-07-01 A 4
2003-08-01 A 3
2003-09-01 A 2
2003-10-01 A 5
2003-11-01 A 3
2003-12-01 A 2
2004-01-01 A 8
2004-02-01 A 4
2004-03-01 A 3
2004-04-01 A 5
2004-05-01 A 3
2004-06-01 A 2
2004-07-01 A 2
2004-08-01 A 5
2004-09-01 A 1
2004-10-01 A 4
2004-11-01 A 4
2004-12-01 A 3
2003-03-01 B 3
2003-04-01 B 5
2003-05-01 B 3
2003-06-01 B 2
2003-07-01 B 2
2003-08-01 B 5
2003-09-01 B 3
2003-10-01 B 2
2003-11-01 B 8
2003-12-01 B 4
2004-01-01 B 3
2004-02-01 B 3
2004-03-01 B 5
2004-04-01 B 3
2004-05-01 B 2
2004-06-01 B 2
2004-07-01 B 5
2004-08-01 B 1
2004-09-01 B 4
2004-10-01 B 4
2004-11-01 B 3
2004-12-01 B 3
2005-01-01 B 3
2005-02-01 B 3
2005-03-01 B 5
2005-04-01 B 3
2005-05-01 B 2
2005-06-01 B 2
2005-07-01 B 5
2005-08-01 B 3
2005-09-01 B 2
2005-10-01 B 8
2005-11-01 B 4
2005-12-01 B 4
数据是月度不平衡面板,其中所有公司的观察日期数量不同。我想按日期将这个集合分成两部分。我尝试使用此代码,但它不起作用
requre(data.table)
df1<-testset[date %between% c("2003-01-01", "2004-06-01")]
df2<-testset[date %between% c("2004-07-01", "2006-06-01")]
您能否给我一些更好的代码,我可以根据我喜欢的任何日期范围对其进行子集化?
【问题讨论】:
-
date属于Date类吗?此外,c("2003-01-01", "2004-06-01")是characters,它们应该是Date。与库lubridate:c(ymd("2003-01-01"), ymd("2004-06-01"))最佳! -
嗨,用
dput(testset)提供你的数据会更明智,否则我们对结构一无所知,你知道吗?请从猜谜游戏中拯救社区。span> -
运行 dput 会产生类似 17683、17713、8035、8066 @jay.sf 的数字