Я работаю с большим набором данных рыболовного флота, и мне нужно отформатировать его для регрессии Пуассона и других моделей подсчета. См. ниже для подмножества данных. Переменная count — «дни». p1:p3 — переменные-индикаторы для группы портов, а f1:f4 — переменные-индикаторы для другой промысловой деятельности.
yr week id days rev p1 p2 p3 f1 f2 f3 f4
2016 3 1 1 5568.3 0 1 0 0 0 0 0
2016 4 1 3 8869.53 0 1 0 0 0 0 0
2016 5 1 2 12025.8 0 1 0 0 0 0 0
2016 6 1 2 9126.6 0 1 0 0 0 0 0
2016 7 1 3 4415.4 0 1 0 0 0 0 0
2016 8 1 2 11586.6 0 1 0 0 0 0 0
2016 10 1 1 2144.4 0 1 0 0 0 0 0
2016 11 1 1 2183.25 0 1 0 0 0 0 0
2016 14 1 2 4998 0 1 0 0 0 0 0
2016 15 1 3 117 0 1 0 0 0 0 0
2016 1 2 4 12743.3 0 0 1 1 1 0 0
2016 2 2 2 7473.48 0 0 1 1 0 0 0
2016 5 2 2 8885.52 0 0 1 1 0 0 0
2016 7 2 1 15330.6 0 0 1 1 1 0 0
2016 8 2 2 3763.8 0 0 1 1 1 0 0
2016 9 2 1 2274.05 0 0 1 1 1 0 0
Эти строки представляют только активные недели, но мне нужно включить неактивные недели каждого судна. Например, для id=1 в 2016 году мне нужно добавить строки, начинающиеся с недели=1, а затем строки для недель 9, 12 и 13. Эти строки должны содержать ту же информацию в фиктивной таблице. категории (они не меняются по годам) и имеют нули в столбце «дни». Мне не нужно добавлять строки после последнего значения «неделя» для этого года и судна.
Здесь все становится очень сложно:
В столбце «Доход (оборот)» для этих вновь созданных строк мне нужно добавить средний доход за эту неделю и год для всех судов, которые используют одну и ту же группу портов (p1: p3).
Наконец, мне нужно добавить новый столбец запаздывающих доходов. Для каждой строки значение запаздывающего дохода должно быть значением в столбце «оборот» за предыдущую неделю для этого судна в этом году.
Значение для 1-й недели для каждого судна должно быть средним значением дохода за первые 2 недели для этого судна в этом году.
Эта задача разносит мои навыки работы с данными вдребезги, и биться головой о стену становится больно. Любые предложения будут хорошо оценены! Спасибо.