Modo mais inteligente?(STRING)

Bom dia senhores!! Suponha que eu tenha o seguinte vetor: vet <- paste(seq(1:12),1:5,sep='.') Eu terei sempre um 'ponto' e um número a direita de cada elemento do vetor. O meu objetivo, é pegar exatamente qualquer coisa que esteja à esquerda deste ponto. Então fiz: unlist(lapply(strsplit(vet,split='[[:punct:]][[:alnum:]]'),function(x)sample(x[1]))) Tem algum modo mais inteligente? Desde já, grato! \begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}

Não sei se é mais inteligênte, mas tem menos coisa escrita... :) unlist(lapply(strsplit(vet, "\\."), "[", 1)) Em 28 de setembro de 2012 08:50, Ivan Bezerra Allaman < ivanalaman@yahoo.com.br> escreveu:
Bom dia senhores!!
Suponha que eu tenha o seguinte vetor:
vet <- paste(seq(1:12),1:5,sep='.')
Eu terei sempre um 'ponto' e um número a direita de cada elemento do vetor. O meu objetivo, é pegar exatamente qualquer coisa que esteja à esquerda deste ponto. Então fiz:
unlist(lapply(strsplit(vet,split='[[:punct:]][[:alnum:]]'),function(x)sample(x[1])))
Tem algum modo mais inteligente?
Desde já, grato! * * \begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}
_______________________________________________ R-br mailing list R-br@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.
-- Marcos F. Silva http://sites.google.com/site/marcosfs2006

gsub('^.*\\.(.*)$', '\\1', vet) 2012/9/28 Marcos Silva <marcosfs2006@gmail.com>:
Não sei se é mais inteligênte, mas tem menos coisa escrita... :)
unlist(lapply(strsplit(vet, "\\."), "[", 1))
Em 28 de setembro de 2012 08:50, Ivan Bezerra Allaman <ivanalaman@yahoo.com.br> escreveu:
Bom dia senhores!!
Suponha que eu tenha o seguinte vetor:
vet <- paste(seq(1:12),1:5,sep='.')
Eu terei sempre um 'ponto' e um número a direita de cada elemento do vetor. O meu objetivo, é pegar exatamente qualquer coisa que esteja à esquerda deste ponto. Então fiz:
unlist(lapply(strsplit(vet,split='[[:punct:]][[:alnum:]]'),function(x)sample(x[1])))
Tem algum modo mais inteligente?
Desde já, grato!
\begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}
_______________________________________________ R-br mailing list R-br@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.
-- Marcos F. Silva http://sites.google.com/site/marcosfs2006
_______________________________________________ R-br mailing list R-br@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.

Se for sempre número trunc(as.numeric(vet)) Em 28 de setembro de 2012 10:43, Benilton Carvalho < beniltoncarvalho@gmail.com> escreveu:
gsub('^.*\\.(.*)$', '\\1', vet)
2012/9/28 Marcos Silva <marcosfs2006@gmail.com>:
Não sei se é mais inteligênte, mas tem menos coisa escrita... :)
unlist(lapply(strsplit(vet, "\\."), "[", 1))
Em 28 de setembro de 2012 08:50, Ivan Bezerra Allaman <ivanalaman@yahoo.com.br> escreveu:
Bom dia senhores!!
Suponha que eu tenha o seguinte vetor:
vet <- paste(seq(1:12),1:5,sep='.')
Eu terei sempre um 'ponto' e um número a direita de cada elemento do vetor. O meu objetivo, é pegar exatamente qualquer coisa que esteja à esquerda deste ponto. Então fiz:
unlist(lapply(strsplit(vet,split='[[:punct:]][[:alnum:]]'),function(x)sample(x[1])))
Tem algum modo mais inteligente?
Desde já, grato!
\begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}
_______________________________________________ R-br mailing list R-br@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.
-- Marcos F. Silva http://sites.google.com/site/marcosfs2006
_______________________________________________ R-br mailing list R-br@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@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.
-- Luís Gustavo Silva e Silva

ha! valeu pelo reminder... pulei a parte do texto q dizia "qq coisa a esquerda".... o codigo correto eh gsub("^(.*)\\..*$", "\\1", vet) b 2012/9/28 Luís Gustavo <lgsilvaesilva@gmail.com>:
Se for sempre número
trunc(as.numeric(vet))
Em 28 de setembro de 2012 10:43, Benilton Carvalho <beniltoncarvalho@gmail.com> escreveu:
gsub('^.*\\.(.*)$', '\\1', vet)
2012/9/28 Marcos Silva <marcosfs2006@gmail.com>:
Não sei se é mais inteligênte, mas tem menos coisa escrita... :)
unlist(lapply(strsplit(vet, "\\."), "[", 1))
Em 28 de setembro de 2012 08:50, Ivan Bezerra Allaman <ivanalaman@yahoo.com.br> escreveu:
Bom dia senhores!!
Suponha que eu tenha o seguinte vetor:
vet <- paste(seq(1:12),1:5,sep='.')
Eu terei sempre um 'ponto' e um número a direita de cada elemento do vetor. O meu objetivo, é pegar exatamente qualquer coisa que esteja à esquerda deste ponto. Então fiz:
unlist(lapply(strsplit(vet,split='[[:punct:]][[:alnum:]]'),function(x)sample(x[1])))
Tem algum modo mais inteligente?
Desde já, grato!
\begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}
_______________________________________________ R-br mailing list R-br@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.
-- Marcos F. Silva http://sites.google.com/site/marcosfs2006
_______________________________________________ R-br mailing list R-br@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@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.
-- Luís Gustavo Silva e Silva
_______________________________________________ R-br mailing list R-br@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.
participantes (4)
-
Benilton Carvalho
-
Ivan Bezerra Allaman
-
Luís Gustavo
-
Marcos Silva