Mediante este programa podemos realizar anĆ”lisis estadĆstico, descriptivo e inferencial.
El archivo que vamos a generar sera mediante RMarkdown el cual es un procesador de texto que ofrece ademĆ”s la posibilidad de incluir trozos de código desde R. El principal beneficio de esta herramienta es que permite trabajar en un sólo documento tanto la redacción del contenido narrativo de reportes de investigación, como tambiĆ©n la construcción y presentación formal de resultados de anĆ”lisis estadĆsticos.
nombres <- c("Ana", "Juan")
Lista de numeros
numero <- c(1, 23, 5, 13, 9, 14)
Desviación estandar de la muestra
desviacionEstandar <- sd(numero)
desviacionEstandar
## [1] 7.704977
Varianza de la muestra
Varianza = var(numero)
Varianza
## [1] 59.36667
Varianza para poblacion
n <- length(numero)
n
## [1] 6
var_p <- sum((numero-mean(numero))^2) / n
var_p
## [1] 49.47222
Desviación estandar para la poblacion
sqrt(var_p)
## [1] 7.033649
Cuartiles
Podemos ver los c
summary(numero)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 6.00 11.00 10.83 13.75 23.00
boxplot(x=numero,main="Boxplots Numero",col = rgb(0, 0.5, 1, alpha = 0.2))
Media
mean(numero)
## [1] 10.83333
Mediana
median(numero)
## [1] 11
Coeficiente de variación
CV <- sd(numero) / mean(numero) * 100
CV
## [1] 71.12286
Ordenar datos de manera creciente y decreciente
numero
## [1] 1 23 5 13 9 14
sort(numero)
## [1] 1 5 9 13 14 23
sort(numero, decreasing = TRUE)
## [1] 23 14 13 9 5 1
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
punto4 <- read_excel("C:/Users/Lenovo/Downloads/Punto4.xlsx")
A continuación, podemos obtener la tabla de frecuencias absolutas
table(punto4)
## punto4
## CSI ED LyO Sin rastro
## 18 13 10 9
Mediante el comando prop.table(table(nombre_de_variable)) podemos calcular la tabla de frecuencias porcentuales.
prop.table <- prop.table(table(punto4))
prop.table
## punto4
## CSI ED LyO Sin rastro
## 0.36 0.26 0.20 0.18
pie(prop.table , c("CSI","ED","LyO","Sin rastro"))
punto14 <- c(8.9, 10.2, 11.5, 7.8, 10.0, 12.2, 13.5, 14.1, 10.0, 12.2, 6.8, 9.5, 11.5, 11.2, 14.9, 7.5, 10.0, 6.0, 15.8, 11.5)
min(punto14)
## [1] 6
max(punto14)
## [1] 15.8
Sturges es otro metodo para calcular las clases.
La distribución de frecuencias tambien se puede calcular en R con la función fdt() de la librerĆa fdth que tiene que estar instalada en R.
library(fdth)
## Warning: package 'fdth' was built under R version 4.1.3
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
require(fdth)
Calculando la distribución de frecuencias se obtiene
dfc = fdt(punto14,breaks="Sturges")
dfc
## Class limits f rf rf(%) cf cf(%)
## [5.94,7.6097) 3 0.15 15 3 15
## [7.6097,9.2793) 2 0.10 10 5 25
## [9.2793,10.949) 5 0.25 25 10 50
## [10.949,12.619) 6 0.30 30 16 80
## [12.619,14.288) 2 0.10 10 18 90
## [14.288,15.958) 2 0.10 10 20 100
hist(punto14, breaks ="Sturges",
main = "Histograma",
xlab = "Clase", ylab = "Frecuencia",
col="darkolivegreen1",
right = FALSE, freq=T)
Tambien, se puede tomar otro metodo para realizar la tabla de distribucion de frecuencias. En breaks pones la cantidad de clases que quieres.
# Construye una tabla de distribución de frecuencias
myvariable = punto14
clases <- factor(cut(myvariable, right = FALSE, breaks = 5))
Freq <- table(clases)
dist.frec <- transform(Freq, Frec.Acumulada = cumsum(Freq),
Frec.Relativa = prop.table(Freq),
Frec.Rel.Acumulada = cumsum(prop.table(Freq)))
dist.frec
## clases Freq Frec.Acumulada Frec.Relativa Frec.Rel.Acumulada
## 1 [5.99,7.96) 4 4 0.20 0.20
## 2 [7.96,9.92) 2 6 0.10 0.30
## 3 [9.92,11.9) 8 14 0.40 0.70
## 4 [11.9,13.8) 3 17 0.15 0.85
## 5 [13.8,15.8) 3 20 0.15 1.00
Graficar histograma
breaks = c(5.99, 7.96, 9.92, 11.9, 13.8, 15.8)
hist(punto14, breaks,
main = "Histograma",
xlab = "Clase", ylab = "Frecuencia",
col="#7AC5CD",
right = FALSE, freq=T)
## Warning in plot.histogram(r, freq = freq1, col = col, border = border, angle =
## angle, : the AREAS in the plot are wrong -- rather use 'freq = FALSE'
Graficando una ojiva
myvariable = punto14
limites = breaks
Frec.Rel.Acumulada = dist.frec$Frec.Rel.Acumulada
plot(limites[-1], Frec.Rel.Acumulada, col="red", lwd=2, type="b",
ylab="Frecuencia Relativa Acumulada", main="Ojiva", xlab="Clases")
text(limites[-1], Frec.Rel.Acumulada,
round(Frec.Rel.Acumulada,2), pos=4, cex=0.7)
boxplot
boxplot(punto14,main="Boxplot punto14",col = rgb(0, 0.5, 1, alpha = 0.2))