Estimados, Junto con saludar, agradecer? si alguien me pueda ayudar con un problema que tengo: Tengo una base de datos llamada "BD", la cu?l posee 300 columnas y 2800 filas, tengo una columna llamada "DIVISION" que se compone de dos d?gitos. Lo que quiero hacer, pero no s? como es: Generar una nueva columna (adicional), llamada "SECCION" que me clasifique con letras los valores num?ricos que tengo en la columna "DIVISION": ID TAMA?O x DIVISION GRUPO CLASE 338576 Grande 2 82 821 8219 338421 Grande 3 58 581 5813 352821 Mediana 2 96 960 9603 340936 Grande 1 68 681 6810 340937 Grande 3 77 773 7730 340938 Grande 3 71 712 7120 353517 Grande 1 73 731 7310 340940 Grande 3 71 711 7110 340941 Grande 3 69 691 6910 340942 Grande 3 73 731 7310 Por ejemplo: Quiero que me clasifique en la nueva columna llamada SECCION, todas las divisiones de 50 a 59 con la letra D, de 60 a 69 con la letra G, las de 70 a 79 con la letra L, las de 80 a 89 con la letra M, las de 90 a 99 con la letra N, de tal forma de conseguir esto: ID TAMA?O X DIVISION GRUPO CLASE SECCION 338576 Grande 2 82 821 8219 M 338421 Grande 3 58 581 5813 D 352821 Mediana 2 96 960 9603 N 340936 Grande 1 68 681 6810 G 340937 Grande 3 77 773 7730 L 340938 Grande 3 71 712 7120 L 353517 Grande 1 73 731 7310 L 340940 Grande 3 71 711 7110 L 340941 Grande 3 69 691 6910 G 340942 Grande 3 73 731 7310 L Agradecer? mucho si alguien me pueda orientar en como conseguir esta nueva columna Saludos! [[alternative HTML version deleted]]
Hola, Mira la función "ifelse()" que te ayudará con esto... Gracias, Carlos Ortega www.qualityexcellence.es El 23 de marzo de 2018, 14:54, Dayana Muñoz <dayanaa.mg en hotmail.com> escribió:> Estimados, > > > Junto con saludar, agradeceré si alguien me pueda ayudar con un problema > que tengo: Tengo una base de datos llamada "BD", la cuál posee 300 columnas > y 2800 filas, tengo una columna llamada "DIVISION" que se compone de dos > dígitos. Lo que quiero hacer, pero no sé como es: Generar una nueva columna > (adicional), llamada "SECCION" que me clasifique con letras los valores > numéricos que tengo en la columna "DIVISION": > > > ID TAMAÑO x > DIVISION GRUPO CLASE > > 338576 > > > > Grande > > 2 > > 82 > > 821 > > 8219 > > 338421 > > > > Grande > > 3 > > 58 > > 581 > > 5813 > > 352821 > > > > Mediana > > 2 > > 96 > > 960 > > 9603 > > 340936 > > > > Grande > > 1 > > 68 > > 681 > > 6810 > > 340937 > > > > Grande > > 3 > > 77 > > 773 > > 7730 > > 340938 > > > > Grande > > 3 > > 71 > > 712 > > 7120 > > 353517 > > > > Grande > > 1 > > 73 > > 731 > > 7310 > > 340940 > > > > Grande > > 3 > > 71 > > 711 > > 7110 > > 340941 > > > > Grande > > 3 > > 69 > > 691 > > 6910 > > 340942 > > > > Grande > > 3 > > 73 > > 731 > > 7310 > > > Por ejemplo: > > > Quiero que me clasifique en la nueva columna llamada SECCION, todas las > divisiones de 50 a 59 con la letra D, de 60 a 69 con la letra G, las de 70 > a 79 con la letra L, las de 80 a 89 con la letra M, las de 90 a 99 con la > letra N, de tal forma de conseguir esto: > > > > ID TAMAÑO X DIVISION GRUPO CLASE SECCION > 338576 > > Grande > > 2 > > 82 > > 821 > > 8219 > M > 338421 > > Grande > > 3 > > 58 > > 581 > > 5813 > D > 352821 > > Mediana > > 2 > > 96 > > 960 > > 9603 > N > 340936 > > Grande > > 1 > > 68 > > 681 > > 6810 > G > 340937 > > Grande > > 3 > > 77 > > 773 > > 7730 > L > 340938 > > Grande > > 3 > > 71 > > 712 > > 7120 > L > 353517 > > Grande > > 1 > > 73 > > 731 > > 7310 > L > 340940 > > Grande > > 3 > > 71 > > 711 > > 7110 > L > 340941 > > Grande > > 3 > > 69 > > 691 > > 6910 > G > 340942 > > Grande > > 3 > > 73 > > 731 > > 7310 > L > > > Agradeceré mucho si alguien me pueda orientar en como conseguir esta nueva > columna > > Saludos! > > > > > [[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 > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Estimada Dayana Muñoz Separemos el problema en dos, la primer parte es la condición, para esto puede utilizar la forma que le resulte más apropiada, la segunda parte es utilizar por ejemplo cbind al data.frame original, en otras palabras a los datos les pega el resultado de la condición en una nueva columna. Javier Rubén Marcuzzi El 23 de marzo de 2018, 10:54, Dayana Muñoz <dayanaa.mg en hotmail.com> escribió:> Estimados, > > > Junto con saludar, agradeceré si alguien me pueda ayudar con un problema > que tengo: Tengo una base de datos llamada "BD", la cuál posee 300 columnas > y 2800 filas, tengo una columna llamada "DIVISION" que se compone de dos > dígitos. Lo que quiero hacer, pero no sé como es: Generar una nueva columna > (adicional), llamada "SECCION" que me clasifique con letras los valores > numéricos que tengo en la columna "DIVISION": > > > ID TAMAÑO x > DIVISION GRUPO CLASE > > 338576 > > > > Grande > > 2 > > 82 > > 821 > > 8219 > > 338421 > > > > Grande > > 3 > > 58 > > 581 > > 5813 > > 352821 > > > > Mediana > > 2 > > 96 > > 960 > > 9603 > > 340936 > > > > Grande > > 1 > > 68 > > 681 > > 6810 > > 340937 > > > > Grande > > 3 > > 77 > > 773 > > 7730 > > 340938 > > > > Grande > > 3 > > 71 > > 712 > > 7120 > > 353517 > > > > Grande > > 1 > > 73 > > 731 > > 7310 > > 340940 > > > > Grande > > 3 > > 71 > > 711 > > 7110 > > 340941 > > > > Grande > > 3 > > 69 > > 691 > > 6910 > > 340942 > > > > Grande > > 3 > > 73 > > 731 > > 7310 > > > Por ejemplo: > > > Quiero que me clasifique en la nueva columna llamada SECCION, todas las > divisiones de 50 a 59 con la letra D, de 60 a 69 con la letra G, las de 70 > a 79 con la letra L, las de 80 a 89 con la letra M, las de 90 a 99 con la > letra N, de tal forma de conseguir esto: > > > > ID TAMAÑO X DIVISION GRUPO CLASE SECCION > 338576 > > Grande > > 2 > > 82 > > 821 > > 8219 > M > 338421 > > Grande > > 3 > > 58 > > 581 > > 5813 > D > 352821 > > Mediana > > 2 > > 96 > > 960 > > 9603 > N > 340936 > > Grande > > 1 > > 68 > > 681 > > 6810 > G > 340937 > > Grande > > 3 > > 77 > > 773 > > 7730 > L > 340938 > > Grande > > 3 > > 71 > > 712 > > 7120 > L > 353517 > > Grande > > 1 > > 73 > > 731 > > 7310 > L > 340940 > > Grande > > 3 > > 71 > > 711 > > 7110 > L > 340941 > > Grande > > 3 > > 69 > > 691 > > 6910 > G > 340942 > > Grande > > 3 > > 73 > > 731 > > 7310 > L > > > Agradeceré mucho si alguien me pueda orientar en como conseguir esta nueva > columna > > Saludos! > > > > > [[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 > >[[alternative HTML version deleted]]
He tratado de usar lo siguiente: a<- ifelse(BD$Divisi?n>=50 & BD$Divisi?n<59,"D", ifelse (BD$Divisi?n>=60 & BD$Divisi?n<=69,"G", ifelse (BD$Divisi?n>=70 & BD$Divisi?n<=79,"L", ifelse (BD$Divisi?n>=80 & BD$Divisi?n<=89,"M", ifelse (BD$Divisi?n>=90 & BD$Divisi?n<=99,"N","Z"))))) Pero me arroja puros NA como resultado. ________________________________ De: Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com> Enviado: viernes, 23 de marzo de 2018 11:04:16 Para: Dayana Mu?oz Cc: r-help-es en r-project.org Asunto: Re: [R-es] Ayuda con R-Studio condiciones Estimada Dayana Mu?oz Separemos el problema en dos, la primer parte es la condici?n, para esto puede utilizar la forma que le resulte m?s apropiada, la segunda parte es utilizar por ejemplo cbind al data.frame original, en otras palabras a los datos les pega el resultado de la condici?n en una nueva columna. Javier Rub?n Marcuzzi El 23 de marzo de 2018, 10:54, Dayana Mu?oz <dayanaa.mg en hotmail.com<mailto:dayanaa.mg en hotmail.com>> escribi?: Estimados, Junto con saludar, agradecer? si alguien me pueda ayudar con un problema que tengo: Tengo una base de datos llamada "BD", la cu?l posee 300 columnas y 2800 filas, tengo una columna llamada "DIVISION" que se compone de dos d?gitos. Lo que quiero hacer, pero no s? como es: Generar una nueva columna (adicional), llamada "SECCION" que me clasifique con letras los valores num?ricos que tengo en la columna "DIVISION": ID TAMA?O x DIVISION GRUPO CLASE Grande 2 Grande 3 Mediana 2 Grande 1 Grande 3 Grande 3 Grande 1 Grande 3 Grande 3 Grande 3 Por ejemplo: Quiero que me clasifique en la nueva columna llamada SECCION, todas las divisiones de 50 a 59 con la letra D, de 60 a 69 con la letra G, las de 70 a 79 con la letra L, las de 80 a 89 con la letra M, las de 90 a 99 con la letra N, de tal forma de conseguir esto: ID TAMA?O X DIVISION GRUPO CLASE SECCION Grande 2 M Grande 3 D Mediana 2 N Grande 1 G Grande 3 L Grande 3 L Grande 1 L Grande 3 L Grande 3 G Grande 3 L Agradecer? mucho si alguien me pueda orientar en como conseguir esta nueva columna Saludos! [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org<mailto:R-help-es en r-project.org> https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]