Назначить значения индекса по датам в Excel - PullRequest
1 голос
/ 26 июня 2019

У меня, казалось бы, легко решаемый вопрос, но я действительно застрял!У меня есть набор дат, и я стремлюсь назначить значение индекса для этих дат.В частности, я хочу, чтобы каждый месяц каждого года имел уникальное значение индекса.Для визуализации того, что я хочу сделать, у меня есть следующие даты, где, как вы видите, январь 96 имеет значение 1, февраль 96 - это 2, март 96 - 3 и так далее.Примечание: с 1996 по 2018 годы также существует много лет, что означает, что январь 1997 года должен иметь значение 13 в индексе.

Date         Index
01/01/1996    1
02/01/1996    1
03/01/1996    1
04/01/1996    1
05/01/1996    1
08/01/1996    1
01/02/1996    2
02/02/1996    2
05/02/1996    2
06/02/1996    2
07/02/1996    2
08/02/1996    2
09/02/1996    2 
01/03/1996    3
04/03/1996    3
05/03/1996    3
06/03/1996    3
07/03/1996    3
08/03/1996    3
11/03/1996    3

Я пытаюсь добиться этого либо в R, либо в Excel.

1 Ответ

2 голосов
/ 26 июня 2019

Предполагая, что вы читаете даты в R и они имеют тип character, а не Date, это будет работать:

mydf$index2 <- as.numeric(as.factor(substring(mydf$Date, 4)))
mydf
#         Date Index Index2
#1  01/01/1996     1      1
#2  02/01/1996     1      1
#3  03/01/1996     1      1
#4  04/01/1996     1      1
#5  05/01/1996     1      1
#6  08/01/1996     1      1
#7  01/02/1996     2      2
#8  02/02/1996     2      2
#9  05/02/1996     2      2
#10 06/02/1996     2      2
#11 07/02/1996     2      2
#12 08/02/1996     2      2
#13 09/02/1996     2      2
#14 01/03/1996     3      3
#15 04/03/1996     3      3
#16 05/03/1996     3      3
#17 06/03/1996     3      3
#18 07/03/1996     3      3
#19 08/03/1996     3      3
#20 11/03/1996     3      3

mydf - ваше имя data.frame. В приведенном выше коде я задаю дату для извлечения месяца и года, затем преобразую в коэффициент, а затем в числовое значение, которое создает индексы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...