Practica 9 Funcion nombres aleatorios

OBJETIVO: Función que genera nombres completos

Creando Vectores

nombres <-c("RUBEN","CARLOS","PATY","ALEJANDRO","LUISA","ROGELIO","ANDREA","FABIOLA","MARIA","FERNANDO")
apellidos <- c("GONZALEZ","MEDINA","ROBLES","JUAREZ","RUIZ","PIZARRO","RODRIGUEZ","CARRETE","CAMPOS","GOMEZ")

nombres ;apellidos
##  [1] "RUBEN"     "CARLOS"    "PATY"      "ALEJANDRO" "LUISA"    
##  [6] "ROGELIO"   "ANDREA"    "FABIOLA"   "MARIA"     "FERNANDO"
##  [1] "GONZALEZ"  "MEDINA"    "ROBLES"    "JUAREZ"    "RUIZ"     
##  [6] "PIZARRO"   "RODRIGUEZ" "CARRETE"   "CAMPOS"    "GOMEZ"

Generando mil Nombres y mil apellidos

milnombres <- sample(nombres,1000,replace = TRUE)
milapellidos <- sample(apellidos,1000,replace = TRUE)

Generando 10 nombres y apellidos completos

Nombre, Paterno y Materno

noms <- sample(milnombres, 10)
apesP <- sample(milapellidos, 10)
apesM <- sample(milapellidos, 10)

nombresCompletos <- data.frame(noms, apesP, apesM)

colnames(nombresCompletos) <- c("Nombre", "Apellido.P", "Apellido.M")

Crear la Funcion

generaNombres <- function(losnombres, losapellidos, cuantos) {
  
  milnombres <- sample(nombres, 1000, replace = TRUE)
  milapellidos <- sample(apellidos, 1000, replace = TRUE)
  
  noms <- sample(milnombres, cuantos)
  apesP <- sample(milapellidos, cuantos)
  apesM <- sample(milapellidos, cuantos)
  
  nombresCompletos <- data.frame(noms, apesP, apesM)
  
  colnames(nombresCompletos) <- c("Nombre", "Apellido.P", "Apellido.M")
  nombresCompletos
}

Llamar a la funcion

personas <- generaNombres(nombres, apellidos, 55)
personas
##       Nombre Apellido.P Apellido.M
## 1     ANDREA     MEDINA    PIZARRO
## 2     ANDREA     ROBLES     ROBLES
## 3    ROGELIO       RUIZ     CAMPOS
## 4      MARIA  RODRIGUEZ    CARRETE
## 5      RUBEN  RODRIGUEZ     CAMPOS
## 6     ANDREA   GONZALEZ    CARRETE
## 7      MARIA     MEDINA    PIZARRO
## 8  ALEJANDRO       RUIZ  RODRIGUEZ
## 9    ROGELIO     MEDINA     CAMPOS
## 10      PATY       RUIZ     JUAREZ
## 11   FABIOLA     CAMPOS     MEDINA
## 12     MARIA    CARRETE     ROBLES
## 13 ALEJANDRO     JUAREZ  RODRIGUEZ
## 14   ROGELIO     CAMPOS     MEDINA
## 15     LUISA      GOMEZ     ROBLES
## 16  FERNANDO     MEDINA       RUIZ
## 17    CARLOS     ROBLES     MEDINA
## 18  FERNANDO     MEDINA     MEDINA
## 19 ALEJANDRO  RODRIGUEZ     JUAREZ
## 20     LUISA  RODRIGUEZ    CARRETE
## 21    ANDREA    PIZARRO       RUIZ
## 22    ANDREA    CARRETE     MEDINA
## 23   FABIOLA  RODRIGUEZ     ROBLES
## 24    ANDREA     CAMPOS    PIZARRO
## 25   FABIOLA     ROBLES       RUIZ
## 26   ROGELIO     ROBLES       RUIZ
## 27    CARLOS     JUAREZ    PIZARRO
## 28    ANDREA     MEDINA     JUAREZ
## 29     MARIA       RUIZ    CARRETE
## 30     RUBEN   GONZALEZ     JUAREZ
## 31     RUBEN  RODRIGUEZ   GONZALEZ
## 32  FERNANDO    PIZARRO     ROBLES
## 33   FABIOLA       RUIZ     ROBLES
## 34   ROGELIO    CARRETE     ROBLES
## 35   FABIOLA  RODRIGUEZ     ROBLES
## 36  FERNANDO     MEDINA   GONZALEZ
## 37   FABIOLA    PIZARRO     CAMPOS
## 38     LUISA  RODRIGUEZ   GONZALEZ
## 39     MARIA       RUIZ     MEDINA
## 40     MARIA  RODRIGUEZ  RODRIGUEZ
## 41    ANDREA     MEDINA     MEDINA
## 42     MARIA    PIZARRO      GOMEZ
## 43     LUISA    PIZARRO     JUAREZ
## 44      PATY     CAMPOS    PIZARRO
## 45     MARIA    CARRETE       RUIZ
## 46     RUBEN       RUIZ    PIZARRO
## 47  FERNANDO     CAMPOS     CAMPOS
## 48     LUISA     MEDINA     ROBLES
## 49 ALEJANDRO    PIZARRO     ROBLES
## 50  FERNANDO    CARRETE     ROBLES
## 51     LUISA  RODRIGUEZ     CAMPOS
## 52 ALEJANDRO     ROBLES   GONZALEZ
## 53    ANDREA      GOMEZ     CAMPOS
## 54   ROGELIO      GOMEZ     MEDINA
## 55     MARIA     JUAREZ      GOMEZ

Interpretacion:

Se creo la funcion “generaNombres” apartir de 2 vectores llamados nombres y apellidos con estos generamos las variables para que se generar 1000 nombres y apellidos con los cuales ya generamos la funcion en la cual nos trae los parametros de nombres, apellidos y el numero de registros solicitados. Al final mandamos llamar esta funcion asignadola y mandarla a pantalla