[R-br] RES: Selecionar um valor em um vetor de caracteres
Mauro Sznelwar
sznelwar em uol.com.br
Quarta Agosto 26 00:03:52 BRT 2015
Muito obrigado!
Felipe, veja se é isto o que tu deseja. Talvez não seja a solução mais elegante, mas aparentemente funciona:
# gera dados aleatorios
set.seed(123)
n <- 100
x <- paste(rpois(n, 5), rbinom(n, 1, .4)+1, rpois(n, 5), sep=".")
# separa os elementos das strings de acordo com os pontos
x.split <- unlist(strsplit(x, "[.]"))
# seleciona apenas os elementos do meio dos dados originais, que são os elementos 2, 5, 8, etc. do vetor x.split
unlist(strsplit(x, "[.]"))[seq(from=2, to=length(x.split), by=3)]
# para transformar o resultado acima em numeros
as.numeric(unlist(strsplit(x, "[.]"))[seq(from=2, to=length(x.split), by=3)])
2015-08-25 16:37 GMT-03:00 Felipe <felipe.e.barletta em gmail.com>:
Desculpem pelo assunto equivocado no e-mail anterior.
Em 25-08-2015 16 <tel:25-08-2015%2016> :18, Felipe escreveu:
Prezados,
Tenho a seguinte variável:
> dim(dados)
> [1] 189 24
Escola.Pd.Pr.sujeito
8.2.6
2.1.5
2.1.8
2.1.7
2.1.6
2.2.1
11.2.2
7.1.6
7.1.5
7.1.4
12.2.4
.....
Quero criar uma nova variável que guarde os valores no meio (que variam entre 1 e 2)
Pensei em usar a função substring:
> variavel.nova<-substr(d$Escola.Pd.Pr.sujeito,3,3)
Mas como o primeiro valor varia entre 1 e 12 não dá. Pensei em adicionar com a função paste(), mais um caracter no início dos valores que não são dezenas pois assim as posições seriam compatíveis para usar substr(d$Escola.Pd.Pr.sujeito,4,4).
> paste("0",d$Escola.Pd.Pr.sujeito, sep = '')
Como poderia fazer isso?
--
Atenciosamente
Felipe E. Barletta Mendes
Estatístico - Conre3 9766-A
+55 <tel:%2B55%20%2841%29-92077191> (41)-92077191
+55 <tel:%2B55%20%2841%29-33287216> (41)-33287216
_______________________________________________
R-br mailing list
R-br em 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.
--
Marcus Nunes
http://marcusnunes.me/
---
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150826/53edce89/attachment.html>
Mais detalhes sobre a lista de discussão R-br