IBGEtabula {IBGEPesq} | R Documentation |
Estima totais e CVs, utilizando o pacote survey, permitindo a desagregação em múltiplos domínios.
IBGEtabula(desenho, colunas, dominios, elimina=NA, dominios.vazios=T, digitos.cv = 1, total.geral=F, desvio.padrao=F)
desenho |
Objeto de classe survey.design obtido pela função svydesign
do pacote survey . Contém as informações do desenho amostral e os dados
a serem tabulados. |
colunas |
Objeto do tipo vetor de characteres com os nomes das colunas dos
dados contidos em desenho para as quais se deseja estimar totais.
As variáveis indicadas nesta coluna devem ser do tipo inteiro com os valores 0 ou 1.
É importante ressaltar que estas variáveis não podem ser do tipo booleano. |
dominios |
Objeto do tipo vetor de characteres com os nomes das colunas dos
dados contidos em desenho que definem os domínios de estimação,
em ordem de precedência. Ver details . |
elimina |
Objeto do tipo lista, com um elemento para cada domínio definido
no argumento dominios . Cada elemento da lista é um vetor de caracteres,
com itens que se deseja eliminar da tabela final como, por exemplo, sem
declaração, ou NA, caso nenhum elemento do domínio deva ser eliminado.Se
for fornecido somente um elemento este será utilizado em todos os domínios. |
dominios.vazios |
Objeto do tipo lógico (boolean) que determina se cruzamentos de domínios vazios devem ser mantidos na tabela ou eliminados. |
digitos.cv |
Número de dígitos depois da vírgula para os valores de CV em porcentagem. |
total.geral |
Objeto do tipo lógico (boolean) que determina se deve ser calculada uma linha de total geral. |
desvio.padrao |
Objeto do tipo lógico (boolean) que determina se na saída haverá também uma tabela de desvios padrão. |
Os dados a serem tabulados são definidos dentro do argumento desenho
, que
deve conter também a estrutura do desenho amostral utilizado. Este objeto, de
classe survey.design
, pode ser obtido utilizando-se a função svydesign, disponível
no pacote survey
.
Serão calculados totais e CVs para cada variável definida em colunas
,
desagregados pelos domínios definidos em dominios
. As colunas especificadas
por esses dois argumentos devem existir nos dados contidos em desenho
.
IMPORTANTE: As colunas de domínio devem ser do tipo fator. Os labels
desses
fatores serão usados para nomear as linhas da tabela final. Os labels
não
devem conter o sinal de ponto (.) nos nomes.
Itens indesejados de cada domínio devem ser especificados no argumento elimina
.
Este argumento deve ser do tipo lista, com número de elementos igual ao número de
domínios.
Um objeto do tipo lista com dois (ou três) elementos do tipo matriz: totais
(e desvio.padrao
) e cv
. O número de colunas de cada matriz é igual ao tamanho do
argumento colunas
. As linhas são formadas pelos vários cruzamentos entre
os domínios
, formatadas e identadas de acordo com a hierarquia entre eles.
Eloane Gonçalves Ramos e Giuseppe de Abreu Antonaci <giuseppe.antonaci@ibge.gov.br>
Pacote survey.
library(survey) library(IBGEPesq) data(ocupacao2005) colnames(dados) <- c("UF", "IDADE", "SEXO", "ANOS_ESTUDO", "COND_ATIVIDADE", "COND_OCUPACAO", "PREVIDENCIA", "SINDICATO", "ATIVIDADE", "OCUPACAO", "PESOS", "gr.anos", "ESP_DOM", "NUM_MOR", "PROJECAO", "INV_FRA", "STRAT", "PSU", "SUBA") dados <- dados[,c("UF", "SEXO", "COND_OCUPACAO", "PESOS", "gr.anos", "PROJECAO", "INV_FRA", "STRAT", "PSU", "SUBA")] dados <- transform(dados, pestrato = PROJECAO, pesos = INV_FRA * SUBA, brasil = rep(1,nrow(dados)), norte = (trunc(UF/10) %in% 1)*1, nordeste = (trunc(UF/10) %in% 2)*1, sudeste = (trunc(UF/10) %in% 3)*1, sul = (trunc(UF/10) %in% 4)*1, centroeste = (trunc(UF/10) %in% 5)*1) dados <- transform(dados, pestrato=factor(pestrato), gr.anos=factor(gr.anos,labels=c("Menos de 1 ano", "1 a 3 anos", "4 a 7 anos", "8 a 10 anos", "11 anos ou mais", "SD")), SEXO = factor(SEXO, labels=c("Homens", "Mulheres")), COND_OCUPACAO = factor(COND_OCUPACAO, labels=c("Ocupados", "Desocupados", "SD"), exclude=NULL)) levels(dados$pestrato)<-1:length(levels(dados$pestrato)) pos.estratos <- data.frame(pestrato=levels(dados$pestrato), Freq=sort(unique(dados$PROJECAO))) options(survey.lonely.psu="average", survey.ultimate.cluster=T) dpnad<-svydesign(ids=~PSU, strata=~STRAT, data=dados, nest=TRUE, weights=~pesos) dpnad<-postStratify(dpnad, ~pestrato, pos.estratos) #pós - estratificação colunas <- c("brasil","norte","nordeste","sudeste","sul","centroeste") grupos <- c("COND_OCUPACAO","SEXO","gr.anos") elimina <- list("SD", NA, "SD") estimativa <- IBGEtabula(dpnad, colunas, grupos, elimina, total.geral=T)