Данные ужасно сформированы, но я ничего не могу сделать с источником. Я пытаюсь сортировать/форматировать его лучше, чтобы я мог выполнять анализ данных.Сортировка кадра данных с несколькими столбцами даты
В моем наборе данных есть несколько столбцов даты, начинающихся с разных дат начала. Вот пример:
DF <- data.frame(V1 = c('FS', 'Date', '1/31/2000','2/29/2000','',''),
V1.1 = c('','','99.87','99.97','',''),
V10 = c('FIIB','Date','10/29/2004','10/30/2004','12/31/2004','1/31/2005'),
V10.1 = c('','','103.24','104.82','105.14','107.68'))
Это выглядит, как показано ниже, но с сотнями более столбцов:
V1 V1.1 V10 V10.1
1 FS FIIB
2 Date Date
3 1/31/2000 99.87 10/29/2004 103.24
4 2/29/2000 99.97 11/30/2004 104.82
5 12/31/2004 105.14
6 1/31/2005 107.68
дата начала фиксирована, что является 1/31/2000, и дата окончания является конец предыдущего месяца, который в этом случае составляет 4/30/2016. Дата окончания будет обновляться из месяца в месяц. Если в течение нескольких месяцев безопасность не возвращается, используйте пробел или NA. Например, поскольку FS имеет только цены на 1/31 и 2/29/2000, остальные (с 3/31/2000 по 4/30/2016) будут заготовками или НО. При этом, как говорится, данные должны выглядеть следующим образом:
V1 V2 V3 V4
Date FS FIIB ...
1/31/2000 99.87 NA ...
2/29/2000 99.97 NA ...
... ... ... ...
10/29/2004 NA 103.24 ...
11/30/2004 NA 104.82 ...
12/31/2004 NA 105.14 ...
1/31/2005 NA 107.68 ...
... ... ... ...
4/30/2016 ... ... ...
Я знаю, как использовать order
для сортировки данных на основе определенного столбца. Но с несколькими датами мне нужна помощь. Спасибо!
Являются 'FS',' FIIB' и значения 'Date' должны быть переменными именами? Какова логика того, как они перемещаются между вашим примером и желаемым результатом? – effel
Что вы на самом деле хотите сделать? «Очистить и упорядочить свой набор данных» довольно неопределенно ... – nsheff
Да, «FS» и «FIIB» являются именами переменных (безопасности). Как вы можете видеть, каждая безопасность имеет месячные даты ниже и ежемесячную цену в следующем столбце. Проблема заключается в том, что даты начала отличаются между ценными бумагами. Например, 'FS' имеет данные о ценах на 1/31 и 2/29/2000, тогда как' FIIB' имеет данные с 10/29/2004 по 4/30/2016. Я хочу создать столбец «date» и соответствующим образом разместить месячные данные. –