R/MakeAKETimeInstantsTable.R
MakeAKETimeInstantsTable.Rd
Funktion erstellt Tabellen in einem Format das im Mikrozensus-Quartalsbericht ueblich ist. Die zugehoerigen MZ-Daten werden dabei automatisch dem STAT-Filemanagement entsprechend eingelesen, d.h. diese Funktion funktioniert nur STAT-intern
MakeAKETimeInstantsTable(col, row = NULL, timeInstant, nbw = NULL, lim1 = Inf, markLeft1 = "(", markRight1 = ")", markValue1 = NULL, lim2 = Inf, markLeft2 = "(", markRight2 = ")", markValue2 = "x")
col | Listenobjekt um Spalten zu definieren, siehe Details. |
---|---|
row | Listenobjekt oder NULL um Zeilen zu definieren, siehe Details. |
timeInstant | numerischer Vektor mit 2 Elementen: c(jahr, quartal). Hier gibt man den Zeitpunkt an auf den sich alle Ergebnisse im weitesten Sinn beziehen sollen, also i.d.R. das aktuellste Quartal. |
nbw | numerischer Wert: Anzahl an Bootstrap-Gewichten die eingelesen werden soll (z.B. um Rechenzeit beim Aufsetzen der Tabellen zu verkuerzen). |
lim1 | numerischer Wert: falls |
markLeft1 | character: wird links zu |
markRight1 | character: wird rechts zu |
markValue1 | character oder NULL: falls NULL, wird der jeweilige Wert
von |
lim2 | numerischer Wert: falls |
markLeft2 | character: wird links zu |
markRight2 | character: wird rechts zu |
markValue2 | character oder NULL: falls NULL, wird der jeweilige Wert
von |
Output ist eine Tabelle in Matrix-Form nach demselben System wie die
meisten Tabellen im MZ-Quartalsbericht - mit durch col
und row
definierten Spalten und Zeilen fuer bestimmte Zeitpunkte und Veraenderungen.
col
ist eine aus Sublisten bestehende Liste. Jede Subliste steht fuer
eine eigene Spalte der zu erstellenden Tabelle in Matrix-Form und gibt an,
was fuer die entsprechende Spalte berechnet werden soll. Jede Subliste kann
die Argumente fun
, TFstring
, TFstring2
, digits
,
var
und scaleF
enthalten. fun
muss dabei gesetzt werden
und zwar auf eine der vier Funktionen GroupSize
, GroupRate
,
Mean
und Total
aus dem mzR-Paket, die restlichen Parameter
sind optional. TFstring
, TFstring2
, digits
und
var
sind einfach die Parameter aus eben genannten Funktionen,
scaleF
ist der Skalierungsfaktor der auf die jeweilige Spalte
angewendet werden soll, also z.B. scaleF="/1000"
gibt an, dass die
Ergebnisse der entsprechenden Spalte durch 1000 dividiert werden sollen, er
ist als character zu uebergeben.
row
ist eine 'list', 'named list' oder 'partly named list' die
Sublisten enthalten kann aber nicht muss. Sublisten werden eigentlich nur
uebergeben wenn einem Element aus row
mehr als ein Parameter
zugewiesen werden soll. Zusaetzlich zu den moeglichen Argumenten fuer
col
(ausser digits
) kann hier auch noch each
gesetzt
werden (auch ein Parameter aus den mzR-Schaetz-und
Fehlerrechnungsfunktionen), fun
ist hier optional. Wird der Parameter
scaleF
bei row
gesetzt, so hat er den Vorzug vor scaleF
bei col
- sollte er dort gesetzt worden sein (hier nicht vergessen,
falls in row
Raten berechnet werden sollen scaleF="*1"
setzen). Dasselbe gilt weitgehend auch fuer fun
, solange es Sinn
macht - hier kann es zu Faellen kommen wo kein Ergebnis ausgegeben werden
kann.
Info: returnCommands
wie in MakeTable()
ist hier (noch) nicht
implementiert, da diese Funktion eigentlich nur als Beispiel dienen
sollte... Kann aber bei Bedarf gemacht werden.
# NOT RUN { ### Spalten col <- list() col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat!=4", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat!=4 & balt>=15", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat!=4 & balt>=15 & balt<=64", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat%in%c(1,2) & balt>=15", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat%in%c(1,2) & balt>=15 & balt<=64", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupRate", TFstring="xerwstat%in%c(1,2) & balt>=15 & balt<=64", TFstring2="xerwstat!=4 & balt>=15 & balt<=64") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat==1 & balt>=15", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat==1 & balt>=15 & balt<=64", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupRate", TFstring="xerwstat==1 & balt>=15 & balt<=64", TFstring2="xerwstat!=4 & balt>=15 & balt<=64") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat==2 & balt>=15", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupRate", TFstring="xerwstat==2 & balt>=15", TFstring2="xerwstat%in%c(1,2) & balt>=15 & balt<=74") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat==3 & balt>=15", scaleF="/1000") col[[length(col)+1]] <- list(fun="GroupSize", TFstring="xerwstat==3 & balt>=15 & balt<=64", scaleF="/1000") ### Zeilen row <- list(NULL,each="bsex") ### Erstellen 2 Tabellen fuer FillExcelTemplate(); ### einmal mit und einmal ohne Limits # Tabelle 1: Mit Limits tab1 <- MakeTimeInstantsTable(col=col,row=row,timeInstant=c(2014,4), nbw=5, lim1=0.17,lim2=0.25) # Tabelle 2: Ohne Limits tab2 <- MakeTimeInstantsTable(col=col,row=row,timeInstant=c(2014,4),nbw=5) # }