R набор временных рядов. Объединять новые данные со старыми, как если бы timestamp_new> = Timestamp_old, а если ID_new> ID_old, то объединять новые данные - PullRequest
0 голосов
/ 19 января 2019

(вопрос в конце) У меня есть такая таблица:

   Date          Period  ID Multi    Volume Price 
 16/01/2019        1    1 -5124.00   -300  34.16    
 16/01/2019        2    1 -5124.00   -300  34.16   
 16/01/2019        2    2  -993.30    -60  33.11    
 16/01/2019        2    3 -4783.00   -200  47.83    
 16/01/2019        2    4  5906.25    150  78.75   
 16/01/2019        2    5 -3342.50   -382  17.50   
 16/01/2019        2    6  8745.00    220  79.50  
 16/01/2019        2    7 16050.00    300 107.00    
 16/01/2019        3    1 -5124.00   -300  34.16  
 16/01/2019        3    2  -993.30    -60  33.11  
 16/01/2019        3    3 -3955.00   -200  39.55   

Период - часы. Когда публикуются новые данные, они могут содержать как новые данные, например, ID часа 1, так и час 2, а затем новые данные получают идентификатор 8 часа 2.

Новые данные будут выглядеть следующим образом. Он больше не показывает первый час, потому что принадлежит прошлому. это показывает новое наблюдение для часа2 часа5, нет для H4.

   Date          Period  ID Multi    Volume Price   
 16/01/2019        2    1 -5124.00   -300  34.16   
 16/01/2019        2    2  -993.30    -60  33.11    
 16/01/2019        2    3 -4783.00   -200  47.83    
 16/01/2019        2    4  5906.25    150  78.75   
 16/01/2019        2    5 -3342.50   -382  17.50   
 16/01/2019        2    6  8745.00    220  79.50  
 16/01/2019        2    7 16050.00    300 107.00 
 15/01/2019        2    8  16050.00    300 107.00   
 16/01/2019        3    1 -5124.00   -300  34.16  
 16/01/2019        3    2  -993.30    -60  33.11  
 16/01/2019        3    3 -3955.00   -200  39.55  
 16/01/2019        5    1 -3955.00   -200  39.55     

Как мне объединить новые данные со старыми. Дополнительная информация в том, что в некоторые дни я не получаю никакой новой информации.

ID торгует за этот час. Каждая новая сделка за определенные часы получает новый идентификатор сделки. Я получаю данные каждый раз, когда появляется (а) новая сделка (и). Сделки могут совершаться за 24 часа. Когда новая сделка произошла, я получаю файл CSV со всеми подтвержденными сделками с этого момента до + 24H, а не только с новой сделкой. Как таблица, которую я показал. Поэтому я должен найти разницу между старым набором данных и новым CSV-файлом, а затем добавить эту новую строку / строки в старый набор данных и ждать, пока я получу новый CSV-файл

Я просто хочу открыть старый набор данных и написать что-то вроде

 if Date_new = Date_old Then
     If Period_new = period_old Then
        IF ID_new > ID_old Then
            Add the new rows to old dataset.
        end if
    else if Perioed_new > period_old Then
        Add the new rows to old dataset
    end if
 else if Date New > Date_old then
      Add the new rows to old dataset
 end if

sort dataset by date -> period -> ID.
save dataset.     

Im переход к R из Matlab и imstuck с этой частью. Я могу заставить его посмотреть, есть ли CSV, затем открыть CSV, преобразовать необработанные данные в структуру, которую я хочу, и сохранить ее в базе данных.

Надеюсь, кто-нибудь может дать несколько советов о том, как смоделировать набор дат. Я часами искал решение этой относительно простой проблемы ...

Лучший Frederik

Ответы [ 2 ]

0 голосов
/ 20 января 2019

наконец ...

Я люблю пакеты, но они делают меня ленивым.

библиотека (gtools)

mydata <- smartbind (data1, data2) 'bindsданные вместе умным способом. </p>

library (tidyverse)

cleanmydata <- mydata%>% diver () 'очищает строки, содержащие одинаковые значения во всех столбцах.

сделано

0 голосов
/ 20 января 2019

Я не могу комментировать свою низкую репутацию, поэтому скоро ее удалю.Поведение ваших новых данных (как что-то присваивается «8» по сравнению с чем-то другим »), а также поведение ваших текущих и новых данных (например, являются ли ваши данные живыми и записывают новые файлы каждые X часов, или они перезаписывают эти данныефайлы?) Какова ваша конечная цель (вы пытаетесь импортировать все файлы в R для манипулирования / анализа)?

Предоставление воспроизводимого примера, вероятно, поможет вам улучшить ясность вашего вопроса.

...