[R-br] Posição de um valor em uma variável
Sérgio Henrique almeida da silva ju
sergio.edfisica em gmail.com
Sexta Março 23 11:03:26 BRT 2012
Oi Benilton
Desculpe, não sabia dessa regra.
Obrigado mais uma vez...
Abraços
Em 23 de março de 2012 10:59, Benilton Carvalho
<beniltoncarvalho em gmail.com>escreveu:
> por favor, crie um novo topico para postar um novo problema... e
> sempre nos de um exemplo que possamos reproduzir.
>
> sobre a sua pergunta, vc nem precisa do ifelse:
>
> novoX = as.integer(dados$x ==1 & dados$y ==1)
>
> b
>
> 2012/3/23 Sérgio Henrique almeida da silva ju <sergio.edfisica em gmail.com>:
> > Olá
> >
> > Estou com mais uma duvida!
> >
> > Gostaria de recoficar uma variável x, por exemplo:
> >
> > se x=1 e y=1, recodifico x de 1 para 0, estou usando o comando abaixo,
> mas
> > não estou conseguindo:
> >
> > dados$x <- ifelse(dados$x ==1 & dados$y ==1, 1,0)
> >
> > Qual a melhor forma de fazer isso?
> >
> > Abraços
> >
> > Em 23 de março de 2012 10:50, Sérgio Henrique almeida da silva ju
> > <sergio.edfisica em gmail.com> escreveu:
> >
> >> Oi
> >>
> >> Obrigado pela ajuda! Deu tudo certinho...
> >>
> >> Abraços
> >>
> >> Em 21 de março de 2012 20:06, Benilton Carvalho
> >> <beniltoncarvalho em gmail.com> escreveu:
> >>
> >>> A minha solucao inicial continua valida:
> >>>
> >>> X = c('12A3', '1A23', 'A123', '123A')
> >>> pmax(regexpr("A", X), 0)
> >>>
> >>>
> >>> > X = c('12A3', '1A23', 'A123', '123A')
> >>> > pmax(regexpr("A", X), 0)
> >>> [1] 3 2 1 4
> >>> attr(,"match.length")
> >>> [1] 1 1 1 1
> >>> attr(,"useBytes")
> >>> [1] TRUE
> >>> >
> >>>
> >>> b
> >>>
> >>> 2012/3/21 Sérgio Henrique almeida da silva ju
> >>> <sergio.edfisica em gmail.com>:
> >>> > 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
> >>> >
> >>> >
> >>> >
> >>> > _______________________________________________
> >>> > 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
> >>
> >>
> >
> >
> >
> > --
> > 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/20120323/7f971bb4/attachment.html>
Mais detalhes sobre a lista de discussão R-br