Tutorial sobre como cambiar el nombre a las variables en R.

Puedes seguir el tutorial por vídeo en https://youtu.be/5QAiURKxFPI

Establezco el directorio de trabajo.

setwd("~/Expression/Expression Encoder/Output/29 Renombrar variables")

En el vídeo anterior, sobre como “Unir Data Frames” vimos que para utilizar el comando rbind(), uno de los requisitos era que las columnas o variables de los DF que íbamos a unir, tuvieran los mismos nombres. ¿Pero qué pasa si los datos que nos envían no cumplen estos requisitos?

DatosTesPeso = read.table("PotatoTestigoPeso.csv", header=T, sep="," , dec=".")
DatosTdoPeso = read.table("PotatoTratadoPeso1.csv", header=T, sep="," , dec=".")
names (DatosTesPeso)
## [1] "Tratamiento" "Variedad"    "Parcela"     "Peso40"      "Peso41a45"  
## [6] "Peso46a60"   "PesoMas61"
names (DatosTdoPeso)
## [1] "Tesis"      "Cultivar"   "Subparcela" "Peso40g"    "Peso41a45g"
## [6] "Peso46a60g" "PesoMas61g"

Para cambiar los nombres de las variables del DF DatosTdoPeso, hacemos lo siguiente.

names (DatosTdoPeso) = c("Tratamiento", "Variedad", "Parcela", "Peso40", "Peso41a45", "Peso46a60", "PesoMas61")
names (DatosTdoPeso)
## [1] "Tratamiento" "Variedad"    "Parcela"     "Peso40"      "Peso41a45"  
## [6] "Peso46a60"   "PesoMas61"
names (DatosTesPeso)
## [1] "Tratamiento" "Variedad"    "Parcela"     "Peso40"      "Peso41a45"  
## [6] "Peso46a60"   "PesoMas61"

En caso de que solo queremos cambiar el nombre de una variable en concreto, tenemos otra opción.

DatosTdoPeso = read.table("PotatoTratadoPeso2.csv", header=T, sep="," , dec=".")
names (DatosTdoPeso)
## [1] "Tratamiento" "Variedad"    "Subparcela"  "Peso40"      "Peso41a45"  
## [6] "Peso46a60"   "PesoMas61"
names (DatosTesPeso)
## [1] "Tratamiento" "Variedad"    "Parcela"     "Peso40"      "Peso41a45"  
## [6] "Peso46a60"   "PesoMas61"
names (DatosTdoPeso)[3] = "Parcela"
names (DatosTdoPeso)
## [1] "Tratamiento" "Variedad"    "Parcela"     "Peso40"      "Peso41a45"  
## [6] "Peso46a60"   "PesoMas61"

Por último, si tuviéramos un DF con muchas columnas, averiguar el número de columna cuyo nombre quiero cambiar puede ser más complicado y dar lugar a error. En ese caso es más recomendable utilizar recurrir a la librería “reshape”.

# install.packages("reshape")
require(reshape)
## Loading required package: reshape
DatosTdoPeso = rename(DatosTdoPeso, c(Parcela="Subparcela"))
names (DatosTdoPeso)
## [1] "Tratamiento" "Variedad"    "Subparcela"  "Peso40"      "Peso41a45"  
## [6] "Peso46a60"   "PesoMas61"