Hola todos. Tengo un data. frame al que le quiero cambiar el nombra a alguna de sus columnas. Por ejemplo:>seba <- data.frame("constante"=1,"numeros"=1:10, "letras"=LETTERS[A:Z])Listo sus nombres:>names(seba)[1] "constante" "numeros" "letras" Quiero que la columna que tiene el nombre "constante" pase a llamarse "uno". Yo no se inicialmente si es la primer, segunda, o décima columna pues el data frame a veces tiene más variables y aparecen en distinto nombre. Entonces yo solo quiero ponerle como nombre "letters" a la columna que tiene como nombre "letras" ¿Cómo podria hacer lo anterior? Saludos, Sebastián. [[alternative HTML version deleted]]
Hola Sebastian, En el primer caso, podrias usar colnames(seba)[ colnames(seba) == "constante" ] <- "uno" seba Saludos, Jorge.- 2013/1/18 Sebastian Kruk <>> Hola todos. > > Tengo un data. frame al que le quiero cambiar el nombra a alguna de sus > columnas. > > Por ejemplo: > > >seba <- data.frame("constante"=1,"numeros"=1:10, "letras"=LETTERS[A:Z]) > > Listo sus nombres: > > >names(seba) > [1] "constante" "numeros" "letras" > > Quiero que la columna que tiene el nombre "constante" pase a llamarse > "uno". Yo no se inicialmente si es la primer, segunda, o décima columna > pues el data frame a veces tiene más variables y aparecen en distinto > nombre. > > Entonces yo solo quiero ponerle como nombre "letters" a la columna que > tiene como nombre "letras" > > ¿Cómo podria hacer lo anterior? > > Saludos, > > Sebastián. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
El 18 de enero de 2013 09:51, Jorge I Velez <jorgeivanvelez@gmail.com>escribió:> colnames(seba)[ colnames(seba) == "constante" ] <- "uno"Hola Jorge, gracias por la ayuda. ¿Si en vez de ser de 3 columnas fuera de 100 y tengo que buscar 200 nombres y si encuentro alguno de ellos sustituirlo por otro como podria hacerlo? Saludos, Sebastián. [[alternative HTML version deleted]]
Hola, Esta es una forma de hacerlo: ########################### seba <- data.frame(constante=1, numeros=1:10, letras=LETTERS[1:10], letras.1=LETTERS[1:10] ) names(seba) names(seba) <-gsub("letras", "otra.cosa", names(seba)) names(seba) ########################### Recuerda que no pueden existir dos variables con el mismo nombre. En el ejemplo anterior, dos variables se llaman casi igual "letras" y "letras.1". Con gsub() cambias el patrón "letras" por "otra.cosa" en todas las recurrencias que aparecen en los nombres de las variables "names(seba)". Saludos, Carlos Ortega www.qualityexcellence.es El 18 de enero de 2013 18:17, Sebastian Kruk <residuo.solow@gmail.com>escribió:> El 18 de enero de 2013 09:51, Jorge I Velez <jorgeivanvelez@gmail.com > >escribió: > > > colnames(seba)[ colnames(seba) == "constante" ] <- "uno" > > > > Hola Jorge, gracias por la ayuda. > > ¿Si en vez de ser de 3 columnas fuera de 100 y tengo que buscar 200 nombres > y si encuentro alguno de ellos sustituirlo por otro como podria hacerlo? > > Saludos, > > Sebastián. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Hola Si me permites, puedes generar una secuencia de números para las columnas, utilizar la idea de Carlos Ortega, pero yo pienso que si son 200 columnas lo mejor es como dice Jorge: colnames(seba)[ colnames(seba) == "constante" ] <- "uno" Tendrás que escribir (copiar y pegar) 200 veces la línea de arriba, reemplazar la palabra que renombras, pero lo más importante es que conocerás como se llama cada columna, no dejas que R bajo un algoritmo renombre tus datos (columnas), porque por ejemplo luego realizas lm(cosa, ....), tu conoces que es "cosa" porque lo nombraste o renombraste antes, en cierta forma te obligas a conocer el nombre de cada columna en cada data.frame, mentalmente para mi es más sencillo recordar lo que yo nombre a lo que R nombro. Javier Marcuzzi El vie, 18-01-2013 a las 20:24 +0100, Carlos Ortega escribió:> Hola, > > Esta es una forma de hacerlo: > > ########################### > seba <- data.frame(constante=1, numeros=1:10, letras=LETTERS[1:10], > letras.1=LETTERS[1:10] ) > > names(seba) > names(seba) <-gsub("letras", "otra.cosa", names(seba)) > names(seba) > > ########################### > > Recuerda que no pueden existir dos variables con el mismo nombre. En el > ejemplo anterior, dos variables se llaman casi igual "letras" y "letras.1". > > Con gsub() cambias el patrn "letras" por "otra.cosa" en todas las > recurrencias que aparecen en los nombres de las variables "names(seba)". > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > El 18 de enero de 2013 18:17, Sebastian Kruk <residuo.solow en gmail.com>escribi: > > > El 18 de enero de 2013 09:51, Jorge I Velez <jorgeivanvelez en gmail.com > > >escribi: > > > > > colnames(seba)[ colnames(seba) == "constante" ] <- "uno" > > > > > > > > Hola Jorge, gracias por la ayuda. > > > > Si en vez de ser de 3 columnas fuera de 100 y tengo que buscar 200 nombres > > y si encuentro alguno de ellos sustituirlo por otro como podria hacerlo? > > > > Saludos, > > > > Sebastin. > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es