Я использовал приведенный ниже код для «bin» year.month string в трехмесячные бункеры. Проблема в том, что я хочу, чтобы каждый из ячеек имел число, соответствующее тому, где бит происходит хронологически (т. Е. Первый бит = 1, второй бит = 2 и т. Д.). Прямо сейчас, первый месяц bin присваивается номеру 4, и я не уверен, почему. Любая помощь будет высоко оценен!Преобразование год-месяц строки в трехмесячные бункеры с пробелами - как назначить смежные восходящие значения?
> head(Master.feed.parts.gn$yr.mo, n=20)
[1] "2007.10" "2007.10" "2007.10" "2007.11" "2007.11" "2007.11" "2007.11" "2007.12" "2008.01"
[10] "2008.01" "2008.01" "2008.01" "2008.01" "2008.02" "2008.03" "2008.03" "2008.03" "2008.04"
[19] "2008.04" "2008.04"
>
> yearmonth_to_integer <- function(xx) {
+ yy_mm <- as.integer(unlist(strsplit(xx, '.', fixed=T)))
+ return((yy_mm[1] - 2006) + (yy_mm[2] %/% 3))
+ }
>
> Cluster.GN <- sapply(Master.feed.parts.gn$yr.mo, yearmonth_to_integer)
> Cluster.GN
2007.10 2007.10 2007.10 2007.11 2007.11 2007.11 2007.11 2007.12 2008.01 2008.01 2008.01
4 4 4 4 4 4 4 5 2 2 2
2008.01 2008.01 2008.02 2008.03 2008.03 2008.03 2008.04 2008.04 2008.04 2008.04 2008.05
2 2 2 3 3 3 3 3 3 3 3
2008.05 2008.05 2008.06 2008.10 2008.11 2008.11 2008.12 <NA> 2009.05 2009.05 2009.05
3 3 4 5 5 5 6 NA 4 4 4
2009.06 2009.07 2009.07 2009.07 2009.09 2009.10 2009.11 2010.01 2010.02 2010.02 2010.02
5 5 5 5 6 6 6 4 4 4 4
UPDATE:
меня попросили обеспечить ввод образца (год) и желаемый результат (Cluster.GN) .I имеют год-месяц строка, которая имеет изменяющееся число наблюдений для каждого месяца, и некоторые месяцы не имеют никаких наблюдений. То, что я хочу сделать, это bin каждый из трех последовательных месяцев, у которых есть данные, присваивая каждому трехмесячному «бин» номер, как показано ниже.
yr.mo Cluster.GN
1 2007.10 1
2 2007.10 1
3 2007.10 1
4 2007.10 1
5 2007.10 1
6 2007.11 1
7 2007.11 1
8 2007.11 1
9 2007.11 1
10 2007.12 1
11 2007.12 1
12 2007.12 1
13 2007.12 1
14 2008.10 2
15 2008.10 2
16 2008.10 2
17 2008.10 2
18 2008.12 2
19 2008.12 2
20 2008.12 2
21 2008.12 2
22 2008.12 2
Это следующий вопрос, чтобы [Преобразовать столбцы строки года в квартальные кварталы] (http://stackoverflow.com/questions/33597728/convert-year-month-string-column-into-quarterly-bins/33601714). Ответ G Grothendieck здесь намного лучше; Я слишком спешил, чтобы проверить 'zoo :: as.yearqtr()' – smci