[R-br] Duvida String

Benilton Carvalho beniltoncarvalho em gmail.com
Quarta Abril 11 14:02:11 BRT 2012


1) assumindo q qdo vc fala "2a linha" vc quer dizer "2o caractere da
string"... 2) colocando um exemplo apropriadamente reproduzivel... 3)
assumindo q se vc tiver 0, vc nao quer nada na saida...

tmp = data.frame(x=c('*A360', '*A330', '*A340', '*A340*A360', '*A330*A340
*A360'),
                          y=c('*A340*A360', '*A360', '*A330*A340*A360', '
*A340', '*A330'),
                          x1=c(2, 0, 0, 7, 12),
                          y1=c(7, 2, 12, 0, 0), stringsAsFactors=FALSE)

f = function(v, dat, v1=paste(v, 1, sep='')){
n = ifelse(dat[[v1]] > 0, nchar(dat[[v]]), NA)
substr(dat[[v]], dat[[v1]], n)
}

f('x', tmp)
f('y', tmp)

b




2012/4/11 Sérgio Henrique almeida da silva ju <sergio.edfisica em gmail.com>

> Olá
>
> alguns dias atrás vocês me ajudaram na criação de variáveis (x1 e y1),
> onde a mesmas me mostram a posição inicial de um certo valor (A360) em uma
> outra variável:
>
> A variável x1 mostra que o A360 inicia-se na segunda linha da variável X e
> assim por diante.
>
> Só que agora eu queria criar uma outra variável x2 e y2 que extrai o valor
> de A360 das variáveis
>
> exemplo
>
> Se x1 = 2 eu quero uma substring de x começando da 2ª linha até a 4ª me
> dando dessa forma o valor A360
> Se y1 = 7 eu quero uma substring de y começando da 7ª linha até a 10ª me
> dando dessa forma o valor A360
>
> e assim por diante.
>
> Como faço?
>
>   x y x1  y1  *A360 *A340*A360 2 7  *A330 *A360 0 2  *A340 *A330*A340*360
> 0 12  *A340*A360 *A340 7 0  *A330*A340*360 *A330 12 0
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120411/694af255/attachment.html>


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