
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@gmail.com>:
Desculpem pelo assunto equivocado no e-mail anterior.
Em 25-08-2015 16: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 (41)-92077191 +55 (41)-33287216
_______________________________________________ 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.
-- Marcus Nunes http://marcusnunes.me/