Ad01

Ad02

viernes, 13 de enero de 2023

Manejo de data.phrame en lenguaje R

 1. Realice lo siguiente desde RSTUDIO:

a) Utilice el archivo de datos, T4_df_autos en Excel, cree un archivo .csv con encabezados de columnas.

b) Importe sus datos a R, y guárdelos en un objeto denominado “df.t4datos”. Revise (con comandos o funciones de R) las características o atributos del objeto “df.t4datos”.

c) Traduzca los nombres de las columnas del objeto “df.t4datos”.

d) Cree cuatro subconjuntos de datos (objetos) para reducir el número de observaciones (hileras y/o columnas), analice los datos y defina los criterios para reducir los datos.

e) Explore los datos realizando gráficas de dispersion, histogramas, boxplots, para alguna de las variables. (utilice los datos completes y reducidos). Guarde sus gráficas en diferentes formatos (pdf, tiff, etcétera.).

f) Explore algunos de sus datos con las funciones de R table, summary, cor, mean, median, min, max. Guarde sus resultados en objetos R.

g) Reduzca el objeto df.t4datos (data.frame) a dos subconjuntos arbitrarios A y B, de 10 hileras y 4 columnas, que contenga únicamente valores numéricos. Luego convierta estos objetos reducidos a objetos matrix. Además, obtenga dos subconjuntos arbitrarios (vectores) de longitud 8, c1 y c2.

h) Una (en horizontal) los objetos matrix A y B y los objetos vector c1 y c2.

i) Obtenga las medias de las columnas (nones) y las desviaciones estandar de las hileras pares del objeto matrix A.

j) Guarde a un archivo .csv y a un archivo .RData el objeto matrix A.

k) Guarde a un archivo .txt y a un archivo .RData el objeto matrix B.

l) Defina una función llamada fmatriz( ), con un objeto matrix como argumento. Para calcular los totales de columnas. Luego, llame la función fmatriz( ) con su argumento para hacer el cálculo de los totales de columnas y guarde el resultado en un objeto vector total.columnas.

m) Efectúe una regresión lineal entre desplazamiento y peso, del conjunto de datos proporcionado

y guardado en df.t4datos . Elabore una gráfica entre los valores predichos y la variable predictor. Y una gráfica de los residuales del modelo versus la variable predicha. Interprete sus resultados.

n) Genere dos vectores y_dep y x_ind, con 100 datos simulados de una distribución normal. Suponga que y_dep son los pesos de un lote de pollos y x_dep son las alturas en cm de los pollos. Proponga las medias y las desviaciones estandar para cada conjunto de datos. Efectúe una regresión lineal, y grafique los valores observados versus los valores predichos. Comente sus resultados.



df.t4datos <- read.csv("T4_df_autos.csv", header = TRUE) #recupera la base de datos con extensi?n .csv

df.t4datos #muestra la base de datos

head(df.t4datos) #muestra la parte superior de la base de datos

tail(df.t4datos) #muestra la parte inferior de la base de datos

str(df.t4datos) #muestra la estructura de la base de datos

dim(df.t4datos) #muestra el numero de hileras y variables de la base de datos

names(df.t4datos) #muestra los nombres de las columnas de la base de datos

names(df.t4datos) <- c("millas_galon", "cilindros", "desplazamiento", "caballos_potencia", 

                      "peso", "aceleracion", "anio", "origen", "nombre") #traduce y cambia los nombres

df.t4datos.eco <- subset(df.t4datos, millas_galon > 20) #crea un subconjunto con los carros economicos

df.t4datos.liv <- subset(df.t4datos, peso < 3000) #crea un subconjunto con carros livianos

df.t4datos.rap <- subset(df.t4datos, aceleracion > 20) #crea un subconjunto con los carros rapidos

df.t4datos.80 <- subset(df.t4datos, anio == 80) #crea un subconjunto con los carros del 80

plot(x = df.t4datos$caballos_potencia, y = df.t4datos$desplazamiento, xlab = "Potencia", 

     ylab = "Desplazamiento", main = "Desplazamiento por caballos de potencia") #crea un grafico de dispersi?n

plot(x = df.t4datos.rap$anio, y = df.t4datos.rap$aceleracion, xlab = "A?os", 

     ylab = "Aceleraci?n", main = "Autos m?s rapidos en el tiempo") #crea un grafico de dispersi?n

hist(x = df.t4datos$cilindros, xlab = "Numero de cilindros", ylab = "Frecuencia", 

     main = "Frecuencia de autos por n?mero de cilindros") #crea un histograma

hist(x = df.t4datos.eco$anio, xlab = "A?o", ylab = "Frecuencia",

     main = "Frecuencia de autos economicos por a?o") #crea un histograma

boxplot(df.t4datos$peso ~ df.t4datos$anio, data = df.t4datos, xlab = "A?o", 

        ylab = "Peso", main = "Boxplot del peso de los carros por a?o") #crea un boxplot

boxplot(df.t4datos.liv$caballos_potencia ~ df.t4datos.liv$origen, xlab = "Origen", 

        ylab = "Potencia", main = "Potencia de los carros livianos segun el origen") #crea un boxplot

df.t4datos.table1 <- table(df.t4datos$cilindros) #crea objeto con la distribuci?n de los carros de acuerdo al numero de cilindros        

df.t4datos.table2 <- table(df.t4datos$origen) #crea objeto con la distribuci?n de los carros de acuerdo al origen

df.t4datos.summary <- summary(df.t4datos) #crea objeto con algunas variables estadisticas de la base de datos

df.t4datos.cor1 <- cor(df.t4datos$millas_galon, df.t4datos$desplazamiento)  #crea objeto con la corelaci?n entre 2 variables

df.t4datos.cor2 <- cor(df.t4datos$caballos_potencia, df.t4datos$aceleracion)  #crea objeto con la corelaci?n entre 2 variables

df.t4datos.mean <- mean(df.t4datos$desplazamiento) #crea objeto con el promedio de la variable

df.t4datos.median <- median(df.t4datos$aceleracion) #crea objeto con la mediana de la variable

df.t4datos.max <- max(df.t4datos$caballos_potencia) #crea objeto con el valor maximo de la variable

df.t4datos.min <- min(df.t4datos$anio) #crea objeto con el valor minimo de la variable

A <- df.t4datos[1:10,1:4] #crea un subconjunto del data frame

B <- df.t4datos[11:20,1:4] #crea un subconjunto del data frame

matriz.A <- data.matrix(A) #convierte el data frame en matriz 

matriz.B <- data.matrix(B) #convierte el data frame en matriz 

c1 <- matriz.A[1:8,1] #crea un vector desde una matriz

c2 <- matriz.B[1:8,3] #crea un vector desde una matriz

matriz.AB <- cbind(matriz.A, matriz.B) #une dos matrices horizontalmente 

matriz.c1c2 <- cbind(c1, c2) #une dos vectores horizontalmente

matriz.A.mean <- apply(X = matriz.A, 2, mean) #crea objeto con las medias de las columnas

matriz.A.des <- apply(X = matriz.A, 1, sd) #crea objeto con la desviaci?n estandar en cada hilera

matriz.A.des.par <- matriz.A.des[c(2, 4, 6, 8, 10)] #crea objeto con la desviaci?n estandar en las hileras pares

write.csv(matriz.A, "T4HJBVmatrizA.csv") #exporta una matriz como un archivo .csv

save(matriz.A, file="T4HJBVmatrizA.Rdata") #guarda la matriz en formato .RData

write.table(matriz.B, "T4HJBVmatrizB.txt") #exporta una matriz como un archivo .txt

save(matriz.B, file="T4HJBVmatrizB.Rdata") #guarda la matriz en formato .RData

fmatriz <- function(x){apply(x, 2, sum)} #crea una funcion que suma los valores de las columnas en una matriz

total.columnas <- fmatriz(matriz.A) #crea objeto con la suma de los valores de las columnas en una matriz

df.t4datos.reg <- lm(df.t4datos$desplazamiento ~ df.t4datos$peso, data = df.t4datos) #determina la regresion lineal de las variables

plot(df.t4datos$desplazamiento ~ df.t4datos$peso, xlab = "Peso",

     ylab = "Desplazamiento", main = "Peso VS Desplazamiento") #grafica la distribucion de los datos

abline(df.t4datos.reg, col="red") #agrega la linea de la regresion a la grafica

plot(df.t4datos.reg$residuals ~ df.t4datos$desplazamiento, xlab = "Desplazamiento",

     ylab = "Residuos", main = "Desplazamiento VS Residuos") #grafica los residuos con la variable predicha

df.pollos <- read.csv("T4HJBVpollos.csv", header = TRUE) #recupera base de datos 

y_dep <- df.pollos$Peso #crea vector con una columna de la base de datos

x_ind <- df.pollos$Altura #crea vector con una columna de la base de datos

y_dep.mean <- mean(y_dep) #crea objeto con la media del vector

y_dep.sd <- sd(y_dep) #crea objeto con la desviaci?n estandar del vector

x_ind.mean <- mean(x_ind) #crea objeto con la media del vector

x_ind.sd <- sd(x_ind) #crea objeto con la desviaci?n estandar del vector

df.pollos.reg <- lm(y_dep ~ x_ind) #crea objeto con la regresi?n lineal entre las variables

plot(y_dep ~ x_ind, xlab = "Alturas", ylab = "Pesos", main = "Altura y peso de pollos") #grafica la distribucion de los datos


No hay comentarios.:

Publicar un comentario

Ad3