Funktion erstellt Tabellen in einem Format das im Mikrozensus-Quartalsbericht ueblich ist, also mit Ergebnissen fuer verschiedene Zeitpunkte. Die zugehoerigen MZ-Daten muessen dabei vorher mit der Funktion ImportDataListQT eingelesen werden.

MakeQT(datalist, col, row = NULL, timeInstant, lim1 = Inf,
  markLeft1 = "(", markRight1 = ")", markValue1 = NULL, lim2 = Inf,
  markLeft2 = "(", markRight2 = ")", markValue2 = "x")

Arguments

datalist

Output-Objekt der Funktion ImportDataListQT()

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.

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

Die zur Erstellung der Quartalsberichts-Tabellen benoetigten Daten muessen zuvor mit der Funktion ImportDataListQT eingelesen werden.

col

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

row entspricht in dieser Funktion im Prinzip dem block-Parameter von MakeTable.

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.

See also

Examples

# NOT RUN {
### Daten einlesen

datalist <- ImportDataListQT(timeInstant=c(2014,4),whichVar=c("rbpkin"))

### Tabelle A1 im Quartalsbericht:

### 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 (enthaelt gegebenenfalls characters)
# Tabelle 1: Mit Limits
tab1 <- MakeQT(datalist,col=col,row=row,timeInstant=c(2014,4),
  lim1=0.17,lim2=0.25)
# Tabelle 2: Ohne Limits (enthaelt nur numerische Werte)
tab2 <- MakeQT(datalist,col=col,row=row,timeInstant=c(2014,4))
# }