Coluna categorizando variável por intervalo

Prezados, tenho uma coluna com variáveis com uma letra e três números, conforme exemplo abaixo. a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095", "B561","N980","N980","C234","C009") b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia", "Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz") banco<-data.frame(a,b) banco Quero criar uma coluna de forma que as linhas que tiverem de C000 a C300 recebam a palavra"verde", as que tiverem de C301 a C700, recebam "amarelo". As que tiverem de B000 a B550 recebam vermelho e de B 551 a B999 recebam "branco". O restante ficaria NA. Alguém poderia me ajudar? Obrigada Fátima -- "Minha felicidade depende da qualidade dos meus pensamentos"

Olá Fátima. Essa é uma maneira possível. a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095", "B561","N980","N980","C234","C009") b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia", "Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz") banco<-data.frame(a,b) letras <- as.character(gsub("[^A-Z]","\\1", banco$a)) numeros <- as.numeric(gsub("[A-Z]","\\1", banco$a)) banco$cores <- NA banco$cores[letras=="B" & 0 < numeros & numeros < 550] <- "vermelho" banco$cores[letras=="B" & 551 < numeros & numeros < 999] <- "branco" banco$cores[letras=="C" & 0 < numeros & numeros < 300] <- "verde" banco$cores[letras=="C" & 301 < numeros & numeros < 700] <- "amarelo" banco Abraços, Paulo Em 14 de abril de 2015 18:10, Fátima Lima Paula <fatima.lima.paula@gmail.com
escreveu:
Prezados, tenho uma coluna com variáveis com uma letra e três números, conforme exemplo abaixo.
a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095", "B561","N980","N980","C234","C009")
b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia", "Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz") banco<-data.frame(a,b) banco
Quero criar uma coluna de forma que as linhas que tiverem de C000 a C300 recebam a palavra"verde", as que tiverem de C301 a C700, recebam "amarelo". As que tiverem de B000 a B550 recebam vermelho e de B 551 a B999 recebam "branco". O restante ficaria NA.
Alguém poderia me ajudar? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Boa noite, Fátima! Segue uma primeira ideia... ### <code r> a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095", "B561","N980","N980","C234","C009") b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia", "Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz") banco<-data.frame(a,b) banco a1 <- strtrim(banco$a,1) a2 <- as.numeric(substr(banco$a,2,4)) banco$cor <- NA banco$cor[a1=="B"] <- "vermelho" banco$cor[a1=="B" && a2>550] <- "branco" banco$cor[a1=="C"] <- "verde" banco$cor[a1=="C" && a2>300] <- "branco" banco ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 14 de abril de 2015 17:10, Fátima Lima Paula <fatima.lima.paula@gmail.com
escreveu:
Prezados, tenho uma coluna com variáveis com uma letra e três números, conforme exemplo abaixo.
a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095", "B561","N980","N980","C234","C009")
b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia", "Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz") banco<-data.frame(a,b) banco
Quero criar uma coluna de forma que as linhas que tiverem de C000 a C300 recebam a palavra"verde", as que tiverem de C301 a C700, recebam "amarelo". As que tiverem de B000 a B550 recebam vermelho e de B 551 a B999 recebam "branco". O restante ficaria NA.
Alguém poderia me ajudar? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Desculpe, corrigindo... ### <code r> a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095", "B561","N980","N980","C234","C009") b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia", "Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz") banco<-data.frame(a,b) banco a1 <- strtrim(banco$a,1) a2 <- as.numeric(substr(banco$a,2,4)) banco$cor <- NA banco$cor[a1=="B"] <- "vermelho" banco$cor[a1=="B" & a2>550] <- "branco" banco$cor[a1=="C"] <- "verde" banco$cor[a1=="C" & a2>300] <- "amarelo" banco ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Perfeito. Obrigada. Me facilitaram muito a vida. Fátima Em 14 de abril de 2015 22:11, Éder Comunello <comunello.eder@gmail.com> escreveu:
Desculpe, corrigindo...
### <code r>
a<-c("B095","B096","B784","B561","N590","N980","N067","C678","C234","C009","B095", "B561","N980","N980","C234","C009")
b<-c("Maria","Paola","José","Pedro","Kleber","Henrique","Marcelo","João","Lia", "Ingrid","Renato","Paulo","Mariana","Mario","Luiza","Luiz") banco<-data.frame(a,b) banco
a1 <- strtrim(banco$a,1) a2 <- as.numeric(substr(banco$a,2,4))
banco$cor <- NA banco$cor[a1=="B"] <- "vermelho" banco$cor[a1=="B" & a2>550] <- "branco" banco$cor[a1=="C"] <- "verde" banco$cor[a1=="C" & a2>300] <- "amarelo"
banco ### </code>
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- "Minha felicidade depende da qualidade dos meus pensamentos"
participantes (3)
-
Fátima Lima Paula
-
Paulo Nogueira Starzynski
-
Éder Comunello