如何根據日期範圍定義將大R數據框(> 200萬行)中的每行分類爲單獨的,更小的R數據框(12行)?當通過head(captures)
稱爲根據R中的日期範圍進行分類
我的大數據幀,捕獲,類似於此:
id date sex
1 160520 2016-11-22 1
2 1029735 2016-11-12 1
3 1885200 2016-11-05 1
4 2058366 2015-09-26 2
5 2058367 2015-09-26 1
6 2058368 2015-09-26 1
我的小數據幀,季節,查看其全部與此類似:
Season Opening.Date Closing.Date
2016 2016-09-24 2017-01-15
2015 2015-09-26 2016-01-10
2014 2014-09-27 2015-01-11
2013 2013-09-28 2014-01-12
2012 2012-09-22 2013-01-13
2011 2011-09-24 2012-01-08
2010 2010-09-25 2011-01-16
2009 2009-09-26 2010-01-17
2008 2008-09-27 2009-01-18
2007 2007-09-22 2008-01-13
2006 2006-09-23 2007-01-14
2005 2005-09-24 2006-01-15
我需要將「季節」列添加到我的捕獲數據框中,其中值將根據是否在captures$date
處於季節定義的範圍內確定。
這是我提出的一個長期解決方案,因爲我的數據框非常大,所以對我來說並不合適。
#add packages
library(dplyr)
library(lubridate)
#make blank column
captures$season=NA
for (i in 1:length(seasons$Season)){
for (j in 1:length(captures$id{
captures$season[j]=ifelse(between(captures$date[j],ymd(seasons$Opening.Date[i]),ymd(seasons$Closing.Date[i])),seasons$Season[i],captures$season[j])
}
}
再次,這不適合我,因爲R每次崩潰。我也意識到這不利用R中的矢量化。在這裏的任何幫助表示讚賞!
或也許's.Opening_Date和s.Closing_Date'之間c.date作爲'where'子句。另外,如果您通過將它們放在雙引號中或用[...]包圍它們來避開它們,則不必更改變量名稱。 –