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