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")

Arguments

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 lim1>error, wird der entsprechende Wert von estimator in der Tabelle durch markLeft1, markValue1 und markRight1 ersetzt.

markLeft1

character: wird links zu markValue1 hinzugefuegt.

markRight1

character: wird rechts zu markValue1 hinzugefuegt.

markValue1

character oder NULL: falls NULL, wird der jeweilige Wert von estimator nicht ueberschrieben.

lim2

numerischer Wert: falls lim2>error, wird der entsprechende Wert von estimator in der Tabelle durch markLeft2, markValue2 und markRight2 ersetzt.

markLeft2

character: wird links zu markValue2 hinzugefuegt.

markRight2

character: wird rechts zu markValue2 hinzugefuegt.

markValue2

character oder NULL: falls NULL, wird der jeweilige Wert von estimator nicht ueberschrieben.

Value

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.

Details

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.

See also

Examples

# 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)
# }