media.pond {IBGEPesq} | R Documentation |
Será calculada a média de x
, ponderada por pesos
, para cada
domínio existente em dom
. Múltiplos níveis de domínios são permitidos,
conforme será explicado adiante.
media.pond(x, pesos, dom)
x |
Argumento obrigatório numérico, do tipo vetor, matriz ou data-frame. |
pesos |
Argumento obritatório, do tipo vetor numérico, que especifica os
pesos segundo os quais a média de x será ponderada. |
dom |
Variável obrigatória, do tipo vetor, fator ou lista, que especifica
os domínios para os quais serão calculadas médias ponderadas de x . |
Se x
for do tipo matriz ou data-frame, dom
deve ser um vetor com
número de elementos igual ao número de linhas de x
. Nesse caso, será
calculada uma média ponderada para cada coluna de x
e para cada domínio
existente em dom
.
Se x
for vetor, dom
pode ser vetor ou uma lista com vários vetores
do mesmo tamanho que x
. Se dom
for uma lista, serão calculadas médias
cruzadas de x
entre os diferentes níveis de domínios existentes em dom
.
Se x
for do tipo matriz ou data-frame, o resultado é uma matriz com mesmo
numero de colunas que x
e número de linhas igual a quantidade de domínios
existentes no vetor dom
.
Se ambos x
e dom
forem vetores, o resultado é um vetor com número
de elementos igual a quantidade de domínios existentes em dom
.
Se x
for vetor e dom
for uma lista de vetores, o resultado é uma
matriz ou um array onde a primeira dimensão é igual à quantidade de domínios
existentes no primeiro vetor de dom
, a segunda dimensão é igual à
quantidade de domínios existentes no segundo vetor de dom
e, assim por diante.
Eloane Gonçalves Ramos
library(IBGEPesq) n <- 1000 internet <- sample(c(T,F), n, replace=T) #variável dicotômica anos.estudo <- sample(0:15, n, replace=T) #variável numérica x = data.frame(internet, anos.estudo) rendimento <- sample(0:999, n, replace=T) idade <- sample(1:74, n, replace=T) pesos <- sample(seq(100, 1100, 50), n, replace=T) gruposrend <- trunc(rendimento/200) gruposrend <- factor(gruposrend, labels= c("Menor que R$200", "R$200 a R$399", "R$400 a R$599", "R$600 a R$799", "R$800 a R$999")) gruposidade <- trunc(idade/15) gruposidade <- factor(gruposidade, labels= c("Menor que 15", "de 15 a 29", "de 30 a 44", "de 45 a 59", "60 ou mais")) ### Percentual de pessoas que possuem internet e média de anos de estudo ### por grupos de rendimento: m.rend <- media.pond(x=x, pesos=pesos, dom=gruposrend) m.rend[,1] <- m.rend[,1]*100 ### Percentual de pessoas que possuem internet por grupos de rendimento e ### por grupos de idade: m.rend.idade <- media.pond(x=x$internet, pesos=pesos, dom=list(gruposrend,gruposidade))*100