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]]