[R-br] Posição de um valor em uma variável

Sérgio Henrique almeida da silva ju sergio.edfisica em gmail.com
Quarta Março 21 18:36:43 BRT 2012


Oi Benilton

Deixa eu tentar explicar

Vamos supor que eu tenha uma variável X com alguns códigos:

X
12A3
1A23
A123
123A

E eu queira criar uma outra variável Y que me diga por exemplo em qual
posição o valor de A esta em cada linha.

   X                 Y
12A3              3
1A23              2
A123              1
123A              4

Existe algum comando pra isso?

Abraços

Em 21 de março de 2012 16:41, Benilton Carvalho
<beniltoncarvalho em gmail.com>escreveu:

> 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 <
> sergio.edfisica em gmail.com> 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 <
> beniltoncarvalho em gmail.com> 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 <sergio.edfisica em gmail.com
> >
> >
> > 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
> > R-br em listas.c3sl.ufpr.br
> >
> >
> >
> > --
> > 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
> 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.
>



-- 
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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120321/0f6e7a08/attachment.html>


Mais detalhes sobre a lista de discussão R-br