Elabore una funcion propia llamada ‘afrecuencias’, que elabore una tabla de frecuencia completa (Frecuencia absoluta, Frecuencia absoluta acumulada, Frecuencia Relativa y Frecuencia Relativa acumulada), de acuerdo a las siguientes indicaciones:
library(knitr)
afrecuencias<-function(X,tipo){
if (tipo== "simple"| tipo!="agrupada") {
F.abs<-table(X)
F.abs.ac <-cumsum(F.abs)
F.rel <-prop.table(F.abs)
F.re.ac <-cumsum(F.rel)
da<-data.frame(F.abs,F.abs.ac,F.rel,F.re.ac)
q<-da[,-1]
tabla <-q[,-3]
kable(tabla)
}else{
if(tipo=="agrupada" | tipo!="simple") {
n <- length(X)
k <- (1+(3.32*log(n,10)))
A <- diff(range(X)) / round(k,0)
x_cut <- cut(X, breaks = k, right=T)
intervals <- levels(x_cut)
Fr.abs <- as.vector(table(x_cut))
Fr.rel <- round(Fr.abs/length(X),3)
F.abs.ac <- cumsum(Fr.abs)
F.re.ac <- cumsum(Fr.rel)
tabla <- data.frame(intervals, Fr.abs, F.abs.ac, Fr.rel, F.re.ac)
kable(tabla)
} else{
warning("ingrese solo la palbara simple o agupada")
}
}
}
Ingresamos nuestras variables chickts
afrecuencias(X=chickwts$feed,tipo="simple")
| Freq | F.abs.ac | Freq.1 | F.re.ac | |
|---|---|---|---|---|
| casein | 12 | 12 | 0.1690141 | 0.1690141 |
| horsebean | 10 | 22 | 0.1408451 | 0.3098592 |
| linseed | 12 | 34 | 0.1690141 | 0.4788732 |
| meatmeal | 11 | 45 | 0.1549296 | 0.6338028 |
| soybean | 14 | 59 | 0.1971831 | 0.8309859 |
| sunflower | 12 | 71 | 0.1690141 | 1.0000000 |
afrecuencias(X=chickwts$weight,tipo="agrupada")
| intervals | Fr.abs | F.abs.ac | Fr.rel | F.re.ac |
|---|---|---|---|---|
| (108,153] | 8 | 8 | 0.113 | 0.113 |
| (153,198] | 8 | 16 | 0.113 | 0.226 |
| (198,243] | 13 | 29 | 0.183 | 0.409 |
| (243,288] | 14 | 43 | 0.197 | 0.606 |
| (288,333] | 14 | 57 | 0.197 | 0.803 |
| (333,378] | 8 | 65 | 0.113 | 0.916 |
| (378,423] | 6 | 71 | 0.085 | 1.001 |