Realice lo siguiente:
i. Cree un script T6iniciales.R con R-Studio
ii. Exporte los datos en Excel adjuntos a archivos.csv
Para los datos de Iris:
iii. Importe los datos a R con read.table() en el archivo de iris hay dos datos perdidos identificados
con “?” y “&”. Considere estos valores en la lectura para denotarlos como valores perdidos NA.
iv. Utilice la función merge() para unir los archivos, utilizando la columna o variable común. Ordene
previamente los conjuntos de datos con order() o sort().
v. Con el archivo unido, identifique los datos perdidos NA a que columna y a que especie
pertenecen.
vi. Calcule la media de la columna donde se encuentra el dato perdido para la especie a que pertenece
el dato. Luego, remplace el dato perdido con la media calculada. (hacer la misma operación para
remplazar los dos datos perdidos).
vii. Grafique un boxplot de los datos por especie de iris.
viii. Calcule estadísticos (por ejemplo, mediana, media, varianza, etc.) de alguna de las columnas en
función de las especies (tratamientos).
ix. Guarde sus resultados en archivos con formato csv o RData, únicamente objetos de interés.
Para los datos de Wine:
i. Exporte de Excel a csv y luego de csv importe los datos a R.
ii. Grafique un boxplot de alguna columna (respuesta) en función de la columna factor.
iii. Calcule la matriz de correlaciones para al menos 5 variables cuantitativas.
iv. Grafique por pares las variables cuantitativas seleccionadas.
v. Efectúe una regresión lineal entre las variables que presenten mayor correlación
vi. Grafique los valores observados y predichos en función de la variable independiente.
vii. Verifique y comente la normalidad de los residuales hist (res), shapiro.test (res)
viii. Cree un objeto data.frame para guardar los valores observados, predichos, y residuales, y luego
guarde el objeto data.frame en un archivo con formato .csv.
Fin de tarea
df.iris1 <- read.table("iris_datos1.csv", header = TRUE, sep = ",")
df.iris2 <- read.table("iris_datos2.csv", header = TRUE, sep = ",")
#identificacion de de signos en los datos y su respectivo cambio
df.iris1[7,2] <- NA
df.iris1[133,3] <- NA
df.iris2[59,2] <- NA
df.iris2[123,3] <- NA
#ordenacion de los datos de las bases de datos
df.iris1.ord <- df.iris1[order(df.iris1$n_obs),]
df.iris2.ord <- df.iris2[order(df.iris2$n_obs),]
#union de los datos de las bases de datos
df.iris <- merge(df.iris1.ord, df.iris2.ord, by = c("n_obs", "especies"))
#identificaion de datos perdidos
which(is.na(df.iris$lon.sepalo))
df.iris[80,2] #columna lon.sepalo, especie setosa
which(is.na(df.iris$ancho.sepalo))
df.iris[14,2] #columna ancho.sepalo, especie virginica
which(is.na(df.iris$lon.petalo))
df.iris[116,2] #columna lon.petalo, especie versicolor
which(is.na(df.iris$ancho.petalo))
df.iris[105,2] #columna ancho.sepalo, especie versicolor
#determinacion de la media para cada columna y el reemplazo de la media en cada na
mean(as.numeric(df.iris$lon.sepalo), na.rm = TRUE)
df.iris[80,3] <- 5.849664
mean(as.numeric(df.iris$ancho.sepalo), na.rm = TRUE)
df.iris[14,4] <- 3.053691
mean(as.numeric(df.iris$lon.petalo), na.rm = TRUE)
df.iris[116,5] <- 3.755705
mean(as.numeric(df.iris$ancho.petalo), na.rm = TRUE)
df.iris[105,6] <- 1.200671
#boxplot a partir de las especies
par(mfrow=c(2,2))
boxplot(as.numeric(df.iris$lon.sepalo) ~ df.iris$especies, xlab = "Especies",
ylab = "Longitud sepalo")
boxplot(as.numeric(df.iris$ancho.sepalo) ~ df.iris$especies, xlab = "Especies",
ylab = "Ancho sepalo")
boxplot(as.numeric(df.iris$lon.petalo) ~ df.iris$especies, xlab = "Especies",
ylab = "Longitud petalo")
boxplot(as.numeric(df.iris$ancho.petalo) ~ df.iris$especies, xlab = "Especies",
ylab = "Ancho petalo")
#calculo de algunas variables estadisticas de una columna de la base de datos
tapply(as.numeric(df.iris$lon.petalo), df.iris$especies, mean)
tapply(as.numeric(df.iris$lon.petalo), df.iris$especies, median)
tapply(as.numeric(df.iris$lon.petalo), df.iris$especies, var)
tapply(as.numeric(df.iris$lon.petalo), df.iris$especies, sd)
#importacion de los datos wine
df.wine <- read.table("wine.datos.csv", header = TRUE, sep = ",")
#correlacion de las variables y grafica de variable respuesta y factor
par(mfrow=c(1,1))
boxplot(df.wine$Flavanoids ~ df.wine$Cvs, xlab = "Csv", ylab = "Flavanoids",
main = "Boxplot de Flavanoids respecto Csv")
#determinacion de matriz de correlacion para 5 variables
cor(df.wine[5:9])
#graficas por pares
plot(df.wine$Total.phenols ~ df.wine$Flavanoids, xlab = "Flavanoids",
ylab = "Total phenols")
#calculo de regresiones lineales
df.wine.reg = lm(df.wine$Total.phenols ~ df.wine$Flavanoids)
#graficas de los valores observados y predichos en funci?n de la variable independiente
plot(df.wine$Total.phenols ~ df.wine$Flavanoids, xlab = "Flavanoids", ylab = "Total.phenols")
abline(df.wine.reg, col = "red")
#determinacion de la normalidad
hist(df.wine.reg$residuals, xlab = "Residuos", ylab = "Frecuencia",
main = "Histograma de normalidad Flavanoids - Total phenols")
shapiro.test(df.wine.reg$residuals)
#creacion de un df con los datos observados, predichos, y residuales
data_obs <- df.wine$Total.phenols
fun <- function(x){0.5417*x+1.1958}
data_pred <- sapply(df.wine$Flavanoids, fun)
data_res <- df.wine.reg$residuals
df.nuevo <- data.frame(data_obs, data_pred, data_res)
#guardar el df creado
write.csv(x = df.nuevo, file = "T6HJBVdfnuevo.csv")
·
Base
de datos Iris
La
especie Virginica se caracteriza por tener flores que tienen sépalos largos y pétalos
largos y anchos (figura 1), en comparación a las especies Setosa y Versicolor.
Las flores de la especie Setosa es todo lo contrario a la anterior, sépalos
pequeños y pétalos pequeños y poco anchos.
·
Base de datos Wine
En
la figura 2 se observa un boxplot de Flavanoids respecto a Csv. El Csv 1 se
caracteriza por tener altos contenidos de Flavanoids en comparación al 2 y 3.
Figura 3. Regresión lineal
entre Flavanoids y Total phenols
En
la figura 3 se observa la relación entre los Flavanoids y Total phenols. Estas
variables tienen una relación directamente proporcional y su modelo lineal es
el siguiente:
y=0.5417*x+1.1958
Figura 4. Histograma de
normalidad. Fuente: propia
De
acuerdo a la figura 4, se observa que hay normalidad desde que los residuos se
agrupan en 0. Además, el valor p de 0.01196 muestra que hay diferencias
significativas, esto quiere decir que ambas variables se encuentran
estrechamente relacionadas.
No hay comentarios.:
Publicar un comentario