Alguien debería haber preguntado esto ya, pero no pude encontrar una respuesta. Di que tengo:
x = data.frame(q=1,w=2,e=3, ...and many many columns...)
¿Cuál es la forma más elegante de cambiar el nombre de un subconjunto arbitrario de columnas, cuya posición no necesariamente conozco, a otros nombres arbitrarios?
Por ejemplo, digamos que quiero cambiar el nombre "q"
y "e"
en "A"
y "B"
, ¿cuál es el código más elegante para hacer esto?
Obviamente, puedo hacer un bucle:
oldnames = c("q","e")
newnames = c("A","B")
for(i in 1:2) names(x)[names(x) == oldnames[i]] = newnames[i]
Pero me pregunto si hay una mejor manera. ¿Quizás usando algunos de los paquetes? ( plyr::rename
etc.)
old = c("a", "d", "e")