#=============================================================================== #. Name : Tabela de distribuição de freq. (TDF) #. e apresentações gráficas (AGA) associadas #. Author : J.C.Faria # Date : 25/08/2021 12:23:39 # Aim : Apresentar os recursos básicos do pacota fdth para a contrução de # TDF e AGA # Mail : <<>> #=============================================================================== #. Pacote requerido #install.packages('fdth') library(fdth) #. TDF a partir de vetor numérico #.. Caso univariado x <- rnorm(n=1e4, mean=5, sd=1) str(x) (tb <- fdt(x)) # Histogramas par(mfrow=c(1, 1)) plot(tb) # Histograma da freq. abasoluta plot(tb, v=TRUE, v.round=1, cex=.8, x.round=2, xlas=2, xlab='Classes') # Argumentos da função plot.fdt str(plot.fdt.default) #... Observar mudança apenas no eixo Y para os 3 plot s abaixo plot(tb, type='fh') # Histograma da freq. abasoluta plot(tb, type='rfh') # Histograma da freq. relativa plot(tb, type='d') # Densidade plot(tb, type='cfpp', co='red') # Polígono de freq. acumulada # Ver a FDT tb summary(tb) # Ídem print(tb) # Ídem show(tb) # Ídem #.. FDT e curva teórica sobreposta # Pode-se alterar a vontade o valor dos parâmetros (m, s) da normal: m <- 10 s <- 2 y <- rnorm(1e5, mean=m, sd=s) tb <- fdt(y, k=100) plot(tb, type='d', # density col=heat.colors(100)) curve(dnorm(x, mean=m, sd=s), n=1e3, add=TRUE, lwd=4) # Adornos # Média segments(x0=m, y0=-1, x1=10, y1=dnorm(m, m, s), lw=3, col='darkblue') # Quantis importantes da normal q_i <- c(m-s, m+s, # 68.27% m-2*s, m+2*s, # 95.45% m-3*s, m+3*s) #99.73% segments(x0=q_i, y0=-1, x1=q_i, y1=dnorm(q_i, m, s), lw=2, col='darkred') #. TDF a partir de matrizes: multivariado summary(fdt(state.x77), colums=c(1:2, 4, 6), format=TRUE) plot(fdt(state.x77)) #.. Variáveis categóricas x <- sample(x=letters[1:5], size=5e2, rep=TRUE) str(x) (fdt_c <- fdt_cat(x)) (fdt_c <- fdt_cat(x, sort=FALSE)) plot(fdt_cat(x), type='pa') #. Contruindo uma TDF a partir de uma tabela publicada e calculando medidas estatisticas # Assumindo uma TDF com os dados abaixo: tb <- data.frame( classes=c('[10, 20)', '[20, 30)', '[30, 40)', '[40, 50)', '[50, 60)', '[60, 70)', '[70, 80)', '[80, 90)'), f=c(10, 20, 30, 40, 50, 40, 30, 20) ) tb tb_r <- make.fdt(f=tb$f, # make.fdt é uma função do pacote fdth start=10, end=90) # FDT reconstruída tb_r #.. Medidas estatísticas a partir da FDT #... Tendência central mean(tb_r) # média median(tb_r) # mediana mfv(tb_r) # moda #... Posição qt_fdt <- numeric() # como vai ser indexada precisa ser criada antecipadamente for(i in 1:3) qt_fdt[i] <- quantile(tb_r, probs=seq(0, 1, .25), i=i) round(qt_fdt, 1) # decis dc_fdt <- numeric() # como vai ser indexada precisa ser criada antecipadamente for(i in 1:9) dc_fdt[i] <- quantile(tb_r, probs=seq(0, 1, .10), i=i) round(dc_fdt, 1) # percentis pc_fdt <- numeric() # como vai ser indexada precisa ser criada antecipadamente for(i in 1:99) pc_fdt[i] <- quantile(tb_r, probs=seq(0, 1, .01), i=i) round(pc_fdt, 1) #... Dispersão var(tb_r) # variância sd(tb_r) # desvio padrão