[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