O seu linhaa deve ter 100 linhas enquanto o conjunto de dados tem1.1M. Mas como vc não proveu um exemplo reproduzível, não posso ajudar além disso. b
On Wednesday, March 21, 2012, Sérgio Henrique almeida da silva ju < [email protected]> wrote: > Oi Benilton > > Obrigado por sua resposta > > É isso mesmo! Quer dizer que ele inicia no segundo caractere da variável linhaa, preciso saber exatamente a posição dele, pois tenho que procurar em um banco com milhões de casos se existe esse código. No SPSS sai certinho... > > Não consegui rodar seu comando, dá o seguinte erro: > >> dados$x=pmax(regexpr("A30", linhaa), 0) > > Erro em `$<-.data.frame`(`*tmp*`, "x", value = c(-1L, -1L, -1L, -1L, : replacement has 1103088 rows, data has 100 > > Abraços > > > Em 21 de março de 2012 14:43, Benilton Carvalho < [email protected]> escreveu: > > regexpr(), assumindo que, qdo vc diz "segunda linha", vc realmente queira dizer "segundo caracter da respectiva linha". > se vc precisa mesmo que os outros valores sejam 0, algo como o seguinte funciona como ponto de partida: > pmax(regexpr("A30", linha), 0) > > b > 2012/3/21 Sérgio Henrique almeida da silva ju <[email protected]> > > Olá > > Estou trabalhando com um banco de mortalidade (SIM) no R e gostaria de uma ajuda. > > Quero criar uma variável que me diz a posição de um valor em uma variável > > Exemplo: > > Banco Original > linhaa linhab > > *T792 *X990 > *S069 *X954 > *R092*T792 *J189 > *R571 *T792 > *A301 > *T792 *X990*A302 > Criando a variável x1 e x2 > > linhaa linhab x1 x2 > *T792 *X990 0 0 > *S069 *X954 0 0 > *R092*T792 *J189 0 0 > *R571 *T792 0 0 > *A301 > 2 0 > *T792 *X990*A302 0 7 > Ou seja, o valor A30, começa na segunda linha da variável linhaa e na 7 linha da variável linhab > > Como rodar isso no R, no SPSS o comando é: > > compute x1 = index(linhaa, "A30"). > compute x2 = index(linhab, "A30"). > ... > execute. > > > Obrigado > > -- > Sérgio Henrique Almeida da Silva Junior > Doutorando em Epidemiologia em Saúde Pública > Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ > http://lattes.cnpq.br/1611345552843383 > Tel: (21) 94429486/78101651 id: 123*20942 > > > > _______________________________________________ > R-br mailing list > [email protected] > > > > -- > Sérgio Henrique Almeida da Silva Junior > Doutorando em Epidemiologia em Saúde Pública > Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ > http://lattes.cnpq.br/1611345552843383 > Tel: (21) 94429486/78101651 id: 123*20942 > > >
_______________________________________________ R-br mailing list [email protected] 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.
