acero.averias.acero <- read.csv("acero.csv")
library(ggplot2)
ggplot(acero, aes(linea, averias, fill = linea)) + geom_col(show.legend = F) + labs(x = "Línea",
y = "Averías") + scale_fill_discrete(name = "Línea")
NOx.ggplot(acero, aes(x = 1:117, NOx, colour = linea)) + geom_point() + labs(x = "Casos",
y = "NOx") + scale_colour_discrete(name = "Línea")
temperatura y CO.Debido a los datos extremos esta gráfica no se visualiza de manera optima.
ggplot(acero, aes(temperatura, CO, fill = temperatura)) + geom_boxplot(show.legend = F) +
labs(x = "Temperatura", "CO")
Para poder visualizar el diagrama de cajas de manera que sea informativo, podemos limitar la extensión del eje \(y\).
ej2 <- c(42, NA, 38, 23, 65, NA, 63)
Necesitamos incluir el argumento na.rm = T para eliminar del análisis los datos faltantes y obtener el resultado.
mean(ej2, na.rm = T)
[1] 46.2
Ejercicio 3. Obten la media, la mediana, el modo y los deciles para los datos de la siguiente tabla.
| Estatura | f |
|---|---|
| 1.78 | 15 |
| 1.74 | 21 |
| 1.70 | 15 |
| 1.68 | 25 |
| 1.63 | 12 |
| 1.57 | 14 |
| 1.55 | 16 |
Como los datos están agrupados utilizamos la función rep() para después obtener los estadísticos.
# Media
mean(rep(estaturas$Estatura, estaturas$f))
[1] 1.670169
# Mediana
median(rep(estaturas$Estatura, estaturas$f))
[1] 1.68
# Modo
library(modeest)
mfv(rep(estaturas$Estatura, estaturas$f))
[1] 1.68
# Deciles
quantile(rep(estaturas$Estatura, estaturas$f), probs = c(0.1, 0.2, 0.3, 0.4, 0.5,
0.6, 0.7, 0.8, 0.9))
10% 20% 30% 40% 50% 60% 70% 80% 90%
1.550 1.570 1.630 1.680 1.680 1.700 1.736 1.740 1.780
consumo# Rango
diff(range(acero$consumo))
[1] 306.3316
# Desviación estándar
sd(acero$consumo)
[1] 57.42879
averias# Desviación estándar
sd(acero$averias)
[1] 1.339755
# MAD
mad(acero$averias)
[1] 1.271835
consumo (Kwatts) y pr.tbc (toneladas)# Rango
max(acero$consumo) - min(acero$consumo)
[1] 306.3316
max(acero$pr.tbc) - min(acero$pr.tbc)
[1] 273.22
# Desviación estándar
sd(acero$consumo)
[1] 57.42879
sd(acero$pr.tbc)
[1] 55.18525
DescTools::CoefVar(acero$consumo)
[1] 0.4407329
DescTools::CoefVar(acero$pr.tbc)
[1] 0.3957166
acero:NOx, CO, COV, SO2, CO2 y N2Olibrary(psych)
describe(acero[c("NOx", "CO", "COV", "SO2", "CO2", "N2O")])[c("skew", "kurtosis")]
COV de acuerdo al nivel de temperaturadescribeBy(acero$COV, acero$temperatura)
Descriptive statistics by group
group: Alta
vars n mean sd median trimmed mad min max range skew kurtosis
X1 1 46 165.64 277.17 4.42 117.32 5.66 0.26 855 854.74 1.27 -0.01
se
X1 40.87
------------------------------------------------------------
group: Baja
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 38 134.83 278.04 5.25 80.25 6.7 0.1 915 914.9 1.74 1.4 45.1
------------------------------------------------------------
group: Media
vars n mean sd median trimmed mad min max range skew kurtosis
X1 1 33 138.02 288.34 7.42 80.3 3.71 0.33 915 914.67 1.65 0.87
se
X1 50.19
R = Únicamente N2O se puede considerar como una distribución normal.
COVqqnorm(acero$COV)
qqline(acero$COV, col = "red")
COVshapiro.test(acero$COV)
Shapiro-Wilk normality test
data: acero$COV
W = 0.5717, p-value < 2.2e-16
dbinom(10, 10, prob = 3/6)
[1] 0.0009765625
dbinom(10, 10, prob = 1/6)
[1] 1.653817e-08
dbinom(10, 10, prob = 1/6)
[1] 1.653817e-08
R = Recordemos que la esperanza matemática se calcula como \(E(X)=np\). De tal forma que:
\[E(X)=10*(1/6)=1.67\]
La desviación estándar es igual a \(s_x=\sqrt{npq}\), entonces:
\[s_x=\sqrt{10*1/6*5/6}=\sqrt{1.389}=1.18\]
exito <- 1:10
f <- numeric(length = 10)
for (i in seq_along(f)) {
f[i] <- dbinom(i, 10, prob = 1/6)
}
f
[1] 3.230112e-01 2.907100e-01 1.550454e-01 5.426588e-02 1.302381e-02
[6] 2.170635e-03 2.480726e-04 1.860544e-05 8.269086e-07 1.653817e-08
library(ggplot2)
df <- data.frame(x = factor(1:10), p = f)
ggplot(df, aes(x, p)) + geom_col(show.legend = F, fill = "skyblue")