Descripcion: Desarrollar la práctica realizada en clase del uso de vectores y dataframes, conocer diferentes sintaxis de instrucciones para desplegar los datos contenidos en los renglones y columnas de la dataframe
## Vectores
x <- 1:10
x
## [1] 1 2 3 4 5 6 7 8 9 10
y <- c(9,5,7,6,4,0,3,2,8,7)
y
## [1] 9 5 7 6 4 0 3 2 8 7
nombres<-c('Hugo','Paco','Luis', 'Paty','Maria','Ruben','Gaby')
nombres
## [1] "Hugo" "Paco" "Luis" "Paty" "Maria" "Ruben" "Gaby"
## despliega las variables de la sesion
ls()
## [1] "nombres" "x" "y"
edades<- c(28,26,32,24,33,27,19)
edades
## [1] 28 26 32 24 33 27 19
sueldos<-c(12.5,13.4,56.7,14.8,7.1,50.2,44.4)
sueldos
## [1] 12.5 13.4 56.7 14.8 7.1 50.2 44.4
genero<- c('M','M','M','F','F','M','F')
genero
## [1] "M" "M" "M" "F" "F" "M" "F"
##generar ayuda
?mean
## starting httpd help server ... done
help ("mean")
##sacar el prom de las edades (media de edades)
mean.edades<-mean (edades)
mean.edades
## [1] 27
##sacar cuantos nombres hay en el vector
length (nombres)
## [1] 7
##sacar cuantos masculinos y femeninos son
genero == 'M'
## [1] TRUE TRUE TRUE FALSE FALSE TRUE FALSE
## conocer las posiciones de M (Los indices del arreglo)
which(genero=='M')
## [1] 1 2 3 6
##nombres que tienen genero femenino
nombres [4:5] ##porque ya sabemos que estan ahi
## [1] "Paty" "Maria"
nombres[which(genero=='F')] ##si no sabemos donde estan
## [1] "Paty" "Maria" "Gaby"
##saber que personas tienen entre 25 y 30 anios
which(edades>=25 & edades<=30)
## [1] 1 2 6
nombres [which(edades>=25 & edades<=30)]
## [1] "Hugo" "Paco" "Ruben"
pasatiempos<- c('musica','musica','estudio','videojuegos','musica','musica','videojuegos')
edades
## [1] 28 26 32 24 33 27 19
pasatiempos
## [1] "musica" "musica" "estudio" "videojuegos" "musica"
## [6] "musica" "videojuegos"
## a que personas le gustan los videojuegos y que promedio de edad tienen
nombres[which(pasatiempos=='videojuegos')]
## [1] "Paty" "Gaby"
edades[which(pasatiempos== 'videojuegos')]
## [1] 24 19
mean(edades[which(pasatiempos== 'videojuegos')])
## [1] 21.5
genero[which(pasatiempos=='videojuegos')]
## [1] "F" "F"
nombres
## [1] "Hugo" "Paco" "Luis" "Paty" "Maria" "Ruben" "Gaby"
edades
## [1] 28 26 32 24 33 27 19
sueldos
## [1] 12.5 13.4 56.7 14.8 7.1 50.2 44.4
genero
## [1] "M" "M" "M" "F" "F" "M" "F"
pasatiempos
## [1] "musica" "musica" "estudio" "videojuegos" "musica"
## [6] "musica" "videojuegos"
##pasar a una tabla
misdatos<-data.frame(nombres,edades,sueldos,genero,pasatiempos,stringsAsFactors = FALSE)
misdatos
## nombres edades sueldos genero pasatiempos
## 1 Hugo 28 12.5 M musica
## 2 Paco 26 13.4 M musica
## 3 Luis 32 56.7 M estudio
## 4 Paty 24 14.8 F videojuegos
## 5 Maria 33 7.1 F musica
## 6 Ruben 27 50.2 M musica
## 7 Gaby 19 44.4 F videojuegos
##agregando 5 registros completos a mis datos
misdatos<-rbind (misdatos,c ('Ene',25,345.6,'F','videojuegos'))
misdatos<-rbind (misdatos,c ('Marta',28,35.6,'F','musica'))
misdatos<-rbind (misdatos,c ('Abel',37,588,'M','estudio'))
misdatos<-rbind (misdatos,c ('Lupe',45,898.5,'F','musica'))
misdatos<-rbind (misdatos,c ('Juan',22,8.7,'M','videojuegos'))
misdatos
## nombres edades sueldos genero pasatiempos
## 1 Hugo 28 12.5 M musica
## 2 Paco 26 13.4 M musica
## 3 Luis 32 56.7 M estudio
## 4 Paty 24 14.8 F videojuegos
## 5 Maria 33 7.1 F musica
## 6 Ruben 27 50.2 M musica
## 7 Gaby 19 44.4 F videojuegos
## 8 Ene 25 345.6 F videojuegos
## 9 Marta 28 35.6 F musica
## 10 Abel 37 588 M estudio
## 11 Lupe 45 898.5 F musica
## 12 Juan 22 8.7 M videojuegos
## que tipo de datos es misdatos
class(misdatos)
## [1] "data.frame"
class(edades)
## [1] "numeric"
class(nombres)
## [1] "character"
##visualizar los datos por medio de view
View (misdatos)
##Conocer cuantos renglones y columnas hya en un data frame
length(misdatos)
## [1] 5
str(misdatos)
## 'data.frame': 12 obs. of 5 variables:
## $ nombres : chr "Hugo" "Paco" "Luis" "Paty" ...
## $ edades : chr "28" "26" "32" "24" ...
## $ sueldos : chr "12.5" "13.4" "56.7" "14.8" ...
## $ genero : chr "M" "M" "M" "F" ...
## $ pasatiempos: chr "musica" "musica" "estudio" "videojuegos" ...
##acceder a los renglones y columnas de un dataframe
##mostrar los primeros 6 renglones
head(misdatos)
## nombres edades sueldos genero pasatiempos
## 1 Hugo 28 12.5 M musica
## 2 Paco 26 13.4 M musica
## 3 Luis 32 56.7 M estudio
## 4 Paty 24 14.8 F videojuegos
## 5 Maria 33 7.1 F musica
## 6 Ruben 27 50.2 M musica
##mostrar los ultimos 6
tail(misdatos)
## nombres edades sueldos genero pasatiempos
## 7 Gaby 19 44.4 F videojuegos
## 8 Ene 25 345.6 F videojuegos
## 9 Marta 28 35.6 F musica
## 10 Abel 37 588 M estudio
## 11 Lupe 45 898.5 F musica
## 12 Juan 22 8.7 M videojuegos
##mostrar del 1 al 5
misdatos[1:5,] ##si no hay nada despues de la , significa todas las columnas
## nombres edades sueldos genero pasatiempos
## 1 Hugo 28 12.5 M musica
## 2 Paco 26 13.4 M musica
## 3 Luis 32 56.7 M estudio
## 4 Paty 24 14.8 F videojuegos
## 5 Maria 33 7.1 F musica
misdatos[1:5,4:5] #muestra renglon columna
## genero pasatiempos
## 1 M musica
## 2 M musica
## 3 M estudio
## 4 F videojuegos
## 5 F musica
misdatos[6,] ##muestra todo el registro 6
## nombres edades sueldos genero pasatiempos
## 6 Ruben 27 50.2 M musica
##otra manera de acceder a los datos en data frame
misdatos$nombres ## el signo de pesos identifica el atributo del data frame
## [1] "Hugo" "Paco" "Luis" "Paty" "Maria" "Ruben" "Gaby" "Ene"
## [9] "Marta" "Abel" "Lupe" "Juan"
## mostrar mas de una columna
vista.misdatos.nombres<- misdatos$nombres
vista.misdatos.nombres
## [1] "Hugo" "Paco" "Luis" "Paty" "Maria" "Ruben" "Gaby" "Ene"
## [9] "Marta" "Abel" "Lupe" "Juan"
##analisis de datos usando el data frame
##saber la media de los sueldos de mis datos
mean.sueldos<-mean(as.double(misdatos$sueldos))
mean.sueldos
## [1] 172.9583
##cuales son los datos de la persona que más gana dinero
max(as.double(misdatos$sueldos))
## [1] 898.5
which.max(as.double(misdatos$sueldos))
## [1] 11
misdatos[which.max(as.double(misdatos$sueldos)),]
## nombres edades sueldos genero pasatiempos
## 11 Lupe 45 898.5 F musica