Я имею дело с простой таблицей формы
date variable value
1970-01-01 V1 0.434
1970-01-01 V2 12.12
1970-01-01 V3 921.1
1970-01-02 V1 -1.10
1970-01-03 V3 0.000
1970-01-03 V5 312e6
... ... ...
Пара (дата, переменная) уникальна. Я хотел бы преобразовать эту таблицу в широкоформатную.
date V1 V2 V3 V4 V5
1970-01-01 0.434 12.12 921.1 NA NA
1970-01-02 -1.10 NA NA NA NA
1970-01-03 0.000 NA NA NA 312e6
И я хотел бы сделать это самым быстрым способом, так как я должен повторять операцию повторно над таблицами с записями 1e6. В собственном режиме R я считаю, что как tapply()
, reshape()
, так и d*ply()
доминируют по скорости на data.table
. Я бы хотел проверить производительность последнего на основе решения на базе sqlite (или другого БД). Это было сделано раньше? Есть ли выигрыш в производительности? И как преобразовать высоту в ширину в sqlite, когда число "широких" полей (даты) является переменным и неизвестным заранее?