[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 15:24:44 BRT 2012


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
>> 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.
>>
>
>
> _______________________________________________
> 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/abe3dc01/attachment.html>


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