Este ejemplo es práctico y conciso. Creado a partir de una tabla de datos inventada:
> Datos X Color Altura Coordenadax Coordenaday Padre Numero.de.hijos 1 Paco Azul 1,8 1234253,5 89730495,4 Si 1 2 pepe Verde 1,4 1234253,6 89730496,4 No 2 3 Sicario Verde 1,6 1234253,7 89730497,4 Si 3 4 Edgar Negro 1,2 1234253,8 89730498,4 Si 4 5 London Naranja 2 1234253,9 89730499,4 Si 5
Para crear una columna en última posición debemos crear un vector que vaya acorde a las características de la tabla. Lo llamaremos "UltimaFila":
> UltimaFila=vector(mode='numeric', length=5)
> UltimaFila
[1] 0 0 0 0 0
Ahora renombramos la tabla e insertamos la columna al final a partir del vector creado:
> NuevosDatos = data.frame(Datos, UltimaFila) > NuevosDatos X Color Altura Coordenadax Coordenaday Padre Numero.de.hijos UltimaFila 1 Paco Azul 1,8 1234253,5 89730495,4 Si 1 0 2 pepe Verde 1,4 1234253,6 89730496,4 No 2 0 3 Sicario Verde 1,6 1234253,7 89730497,4 Si 3 0 4 Edgar Negro 1,2 1234253,8 89730498,4 Si 4 0 5 London Naranja 2 1234253,9 89730499,4 Si 5 0
Antes de modificar los valores de "miVector" es interesante simplificar los nombres de las variables:> colnames(NuevosDatos)= c('Persona','Color','Altura','Coor X','Coor Y','Padre','Hijos','Hijos*2') > NuevosDatos Persona Color Altura Coor X Coor Y Padre Hijos Hijos*2 1 Paco Azul 1,8 1234253,5 89730495,4 Si 1 0 2 pepe Verde 1,4 1234253,6 89730496,4 No 2 0 3 Sicario Verde 1,6 1234253,7 89730497,4 Si 3 0 4 Edgar Negro 1,2 1234253,8 89730498,4 Si 4 0 5 London Naranja 2 1234253,9 89730499,4 Si 5 0
Para terminar podemos modificar los valores de la última columna a partir de otros que ya se encuentran en la tabla. Es muy importante en este caso colocar bien las comillas para definir bien la columna ('Hijos*2') o la fórmula que vamos a aplicar (Hijos*2):
> NuevosDatos$'Hijos*2'=NuevosDatos$Hijos*2
> NuevosDatos
Persona Color Altura Coor X Coor Y Padre Hijos Hijos*2
1 Paco Azul 1,8 1234253,5 89730495,4 Si 1 2
2 pepe Verde 1,4 1234253,6 89730496,4 No 2 4
3 Sicario Verde 1,6 1234253,7 89730497,4 Si 3 6
4 Edgar Negro 1,2 1234253,8 89730498,4 Si 4 8
5 London Naranja 2 1234253,9 89730499,4 Si 5 10
No hay comentarios:
Publicar un comentario