Usiłuję rozwiązać problem, który dotyczy przypisania brakujących danych z badania danych panelowych (Nie jestem pewien, czy prawidłowo używam „badania danych panelowych” - tak jak się dzisiaj nauczyłem). Mam dane dotyczące całkowitej liczby zgonów w latach 2003 do 2009 r., wszystkie miesiące, kobiety i mężczyźni, w 8 różnych dzielnicach i dla 4 grup wiekowych.
Ramka danych wygląda mniej więcej tak:
District Gender Year Month AgeGroup TotalDeaths
Northern Male 2006 11 01-4 0
Northern Male 2006 11 05-14 1
Northern Male 2006 11 15+ 83
Northern Male 2006 12 0 3
Northern Male 2006 12 01-4 0
Northern Male 2006 12 05-14 0
Northern Male 2006 12 15+ 106
Southern Female 2003 1 0 6
Southern Female 2003 1 01-4 0
Southern Female 2003 1 05-14 3
Southern Female 2003 1 15+ 136
Southern Female 2003 2 0 6
Southern Female 2003 2 01-4 0
Southern Female 2003 2 05-14 1
Southern Female 2003 2 15+ 111
Southern Female 2003 3 0 2
Southern Female 2003 3 01-4 0
Southern Female 2003 3 05-14 1
Southern Female 2003 3 15+ 141
Southern Female 2003 4 0 4
Dla 10 miesięcy rozłożonych na lata 2007 i 2008 niektóre z całkowitych zgonów ze wszystkich dzielnic nie zostały zarejestrowane. Próbuję oszacować tę brakującą wartość za pomocą metody wielokrotnego imputacji. Albo za pomocą Uogólnionych modeli liniowych lub modeli SARIMA.
Moim największym problemem jest korzystanie z oprogramowania i kodowanie. Zadałem pytanie na Stackoverflow, gdzie chcę wyodrębnić dane do mniejszych grup, takich jak to:
District Gender Year Month AgeGroup TotalDeaths
Northern Male 2003 1 01-4 0
Northern Male 2003 2 01-4 1
Northern Male 2003 3 01-4 0
Northern Male 2003 4 01-4 3
Northern Male 2003 5 01-4 4
Northern Male 2003 6 01-4 6
Northern Male 2003 7 01-4 5
Northern Male 2003 8 01-4 0
Northern Male 2003 9 01-4 1
Northern Male 2003 10 01-4 2
Northern Male 2003 11 01-4 0
Northern Male 2003 12 01-4 1
Northern Male 2004 1 01-4 1
Northern Male 2004 2 01-4 0
Zamierzam
Northern Male 2006 11 01-4 0
Northern Male 2006 12 01-4 0
Ale ktoś zasugerował, że powinienem tu raczej zadać pytanie - może poprosić o wskazówki? Obecnie nie jestem w stanie wprowadzić tych danych jako właściwego szeregu czasowego / badania panelowego do R. Moim ostatecznym celem jest wykorzystanie tych danych i amelia2
pakietu wraz z jego funkcjami do przypisania za brak TotalDeaths
w niektórych miesiącach w 2007 i 2008 r., Gdzie dane są brakujący.
Będziemy wdzięczni za wszelką pomoc, jak to zrobić i być może sugestie dotyczące rozwiązania tego problemu.
Jeśli to pomoże, staram się zastosować podobne podejście do tego, co zrobił Clint Roberts w swojej pracy doktorskiej .
EDYTOWAĆ:
Po utworzeniu zmiennej „time” i „group” zgodnie z sugestią @Matt:
> head(dat)
District Gender Year Month AgeGroup Unnatural Natural Total time group
1 Khayelitsha Female 2001 1 0 0 6 6 1 Khayelitsha.Female.0
2 Khayelitsha Female 2001 1 01-4 1 3 4 1 Khayelitsha.Female.01-4
3 Khayelitsha Female 2001 1 05-14 0 0 0 1 Khayelitsha.Female.05-14
4 Khayelitsha Female 2001 1 15up 8 73 81 1 Khayelitsha.Female.15up
5 Khayelitsha Female 2001 2 0 2 9 11 2 Khayelitsha.Female.0
6 Khayelitsha Female 2001 2 01-4 0 2 2 2 Khayelitsha.Female.01-4
Jak zauważyłeś, w rzeczywistości są bardziej szczegółowe „Naturalne” i „Nienaturalne”.
źródło
Amelia
się trochę, ale poddałem się (wcześniej). Wcześniej widziałem winietę (ale jakoś ją zgubiłem!) Po prostu rzuciłem na nią okiem i naprawdę ją przejrzę. Jednym z moich problemów jest to, że nie jestem pewien, jak utworzyć zmiennegroup
itime
. (Próbowałem utworzyć je do analizy / prognozowania szeregów czasowych, ale obejrzałem to.) Jestem pewien, że jest w winiecie - więc wrócę do ciebie, jeśli będę miał problemy.a.out=amelia(dat,ts=time,cs=group,splinetime=2,intercs=TRUE,idvars=c("District","Gender","Month","Year","AgeGroup"),bounds=bds) Amelia Error Code: 6 The 'ts' variable is out of the range of possible column numbers or is not an integer.
bds <- matrix(c(6, 7, 8,0, 0,0, 500, 500,500), nrow = 3, ncol = 3)
Zasadniczo wybrałem 500 jako losowy górny limit. Starałem się nie podawać trzeciej kolumny, aleAmelia
ostrzegałem, że wymaga trzeciej. Czy jest jakiś sposób na określenie dolnej granicy?