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