2
我想根据我的要求对时间序列dataframe
进行子集划分。 我有一个dataframe
类似于下面提到的东西。根据两列或更多列的值设置数据帧
> df
Date Year Month Day Time Parameter
2012-04-19 2012 04 19 7:00:00 26
2012-04-19 2012 04 19 7:00:00 20
.................................................
2012-05-01 2012 05 01 00:00:00 23
2012-05-01 2012 05 01 00:30:00 22
.................................................
2015-04-30 2015 04 30 23:30:00 20
.................................................
2015-05-01 2015 05 01 00:00:00 26
从dataframe
类似这样我会想从第一个2012年5月2012-05-01
的所有数据,以四月2015-04-30
末,不管dataframe
的开始和结束日期。
但是,我熟悉grep
函数来从一个特定列中选择数据。我一直在使用下面的代码grep
和with
。
# To select one particular year
> df.2012 <- df[grep("2012", df$Year),]
# To select two or more years at the same time
> df.sel.yr <- df[grep("201[2-5]", df$Year),]
# To select one particular month of a particular year.
> df.Dec.2012 <- df[with(df, Year=="2012" & Month=="12"), ]
有了几条命令我就可以做到了。但如果我只用几行或一行命令就可以完成这项工作,那将节省很多时间。
任何帮助将不胜感激。先谢谢你。
感谢@RonakShah它的工作。 –
@ShretaGhimire太棒了!乐于帮助。 :) –