problemas com o símbolo %

Olá Augusto, onde é que aparece upload no link do pastebin? o que eu pretendo é por exemplo: Ponte da Barca 67,7% 73,9% 82,4% 83,1% 76,5% 83,8% Braga 76,7% 84,9% 89,4% 83,3% 78,2% 78,4% Fafe 80,0% 76,7% 81,8% 76,6% 79,8% 84,8% Maia 80,4% 77,0% 75,7% 83,6% 82,6% 83,7% VNGaia 81,4% 66,4% 67,0% 67,2% 75,6% 82,5% SMFeira 63,3% 71,1% 68,0% 69,9% 65,4% 73,5% eu quero que o simbolo % desapareça e fiquem os valores como estão, ou seja, transformar o texto em numero no codigo eu uso as.numeric(gsub() mas não esta a funcionar setwd("f:/Ana_trabalho/indicadores_semestrais/1 semestre 2013") dados<-read.table("Hgb.csv",header=TRUE, sep=";",stringsAsFactors=FALSE,dec=",") for (i in 2:6) { #Executa o comando a seguir para as colunas 2 a 6 (1º semestre de 2013) dados[,i] <- as.numeric(gsub('%','',dados[,i])) # Tira o símbolo de percentual e transforma texto em número } colnames(dados) <- c("Clinica","Jan","Fev","Mar","Abr","Mai","Jun") dados como resolvo Ana Quoting r-br-request@listas.c3sl.ufpr.br:
Enviar submissões para a lista de discussão R-br para r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: Problema no read.fwf. (Luciane Maria Pilotto) 2. Re: Problema no read.fwf. (Rodrigo Coster) 3. Datas em R (Eliana Silva) 4. subset (Fátima Lima Paula) 5. Re: subset (Benilton Carvalho) 6. Re: subset (Fátima Lima Paula) 7. Funcao L(K Ripley's transf.) com mais de 3000 pontos (Felipe Sodre Barros) 8. Re: Funcao L(K Ripley's transf.) com mais de 3000 pontos (Elias Krainski) 9. Duvida Concatenação (Sérgio Henrique almeida da silva ju) 10. Re: Duvida Concatenação (Elias Krainski) 11. Re: Duvida Concatenação (Sérgio Henrique almeida da silva ju) 12. Re: Duvida Concatenação (Elias Krainski) 13. Re: Duvida Concatenação (Elias Krainski) 14. Re: Duvida Concatenação (Sérgio Henrique almeida da silva ju) 15. Re: Duvida Concatenação (Rodrigo Coster) 16. Re: Duvida Concatenação (Sérgio Henrique almeida da silva ju) 17. Re: Duvida Concatenação (Rodrigo Coster) 18. Re: Duvida Concatenação (Sérgio Henrique almeida da silva ju)
----------------------------------------------------------------------
Message: 1 Date: Sun, 21 Jul 2013 09:57:35 -0700 (PDT) From: Luciane Maria Pilotto <lutipilotto@yahoo.com.br> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Problema no read.fwf. Message-ID: <1374425855.15949.YahooMailNeo@web122901.mail.ne1.yahoo.com> Content-Type: text/plain; charset="iso-8859-1"
Como vc desabilitou o caracter? Tb tive problema com esta função.
Att., Luciane
________________________________ De: Rodrigo Coster <rcoster@gmail.com> Para: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Enviadas: Quinta-feira, 18 de Julho de 2013 11:36 Assunto: Re: [R-br] Problema no read.fwf.
Acertou em cheio, resolvi desabilitando o caractere de comentário. Valeu!
2013/7/18 Adriano Borges Costa <adrianobfc@gmail.com>
Eu estava tendo esse problema e verifiquei que haviam alguns caracteres # na minha base, principalmente no campo Endereço, que substituíam ç, °, - e outros caracteres normalmente temos problemas. Como o R não considera #, imagino que ele ignorava esses caracteres e por isso dava incompatibilidade.
Eu consegui resolver.
Sou usuário recente, então posso na verdade estar falando bobagem.
Abraços
Adriano
Em 18 de julho de 2013 11:01, Rodrigo Coster <rcoster@gmail.com> escreveu:
Caros, estou usando o read.fwf para ler um banco, e obtive a seguinte mensagem de erro:
len <- c(13, 11, 11, 2, 2, 1, 70, 8, 4, 8, 8, 2, 35, 7, 15, 11, 16, 5, 8, 2, 8, 7, 5, 8, 2, 13, 4, 4)
dados <- dadostemp <- read.fwf('05.txt', width=len, header=FALSE, stringsAsFactors=FALSE) Erro em scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : linha 28659 não tinha 28 elementos
Pensei que na linha 28659 estava faltando algum caractere, mas verifiquei que todas as linhas tem o mesmo tamanho:
temp <- readLines('05.txt') table(nchar(temp))
290 386103
length(temp) [1] 386103
Alguem tem alguma idéia do que pode ser? Ou de como nao usar o read.fwf e usar o carregado pelo readLines?
_______________________________________________ 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.
-- Adriano Borges Costa _______________________________________________ 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. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130721/bae24e6a/attachment-0001.html>
------------------------------
Message: 2 Date: Sun, 21 Jul 2013 16:41:53 -0300 From: Rodrigo Coster <rcoster@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Problema no read.fwf. Message-ID: <CAKU4wovgB2F2H-J4aB+jY0+XJMkdFdc3bCs0_O1mhTBDLU0NvA@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
É só colocar o parâmetro comment.char='' no read.fwf()
2013/7/21 Luciane Maria Pilotto <lutipilotto@yahoo.com.br>
Como vc desabilitou o caracter? Tb tive problema com esta função.
Att., *Luciane *
------------------------------ *De:* Rodrigo Coster <rcoster@gmail.com> *Para:* "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> *Enviadas:* Quinta-feira, 18 de Julho de 2013 11:36 *Assunto:* Re: [R-br] Problema no read.fwf.
Acertou em cheio, resolvi desabilitando o caractere de comentário. Valeu!
2013/7/18 Adriano Borges Costa <adrianobfc@gmail.com>
Eu estava tendo esse problema e verifiquei que haviam alguns caracteres # na minha base, principalmente no campo Endereço, que substituíam ç, °, - e outros caracteres normalmente temos problemas. Como o R não considera #, imagino que ele ignorava esses caracteres e por isso dava incompatibilidade.
Eu consegui resolver.
Sou usuário recente, então posso na verdade estar falando bobagem.
Abraços
Adriano
Em 18 de julho de 2013 11:01, Rodrigo Coster <rcoster@gmail.com> escreveu:
Caros, estou usando o read.fwf para ler um banco, e obtive a seguinte mensagem de erro:
len <- c(13, 11, 11, 2, 2, 1, 70, 8, 4, 8, 8, 2, 35, 7, 15, 11, 16, 5, 8, 2, 8, 7, 5, 8, 2, 13, 4, 4) dados <- dadostemp <- read.fwf('05.txt', width=len, header=FALSE, stringsAsFactors=FALSE) Erro em scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : linha 28659 não tinha 28 elementos
Pensei que na linha 28659 estava faltando algum caractere, mas verifiquei que todas as linhas tem o mesmo tamanho:
temp <- readLines('05.txt') table(nchar(temp))
290 386103
length(temp) [1] 386103
Alguem tem alguma idéia do que pode ser? Ou de como nao usar o read.fwf e usar o carregado pelo readLines?
_______________________________________________ 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.
-- Adriano Borges Costa
_______________________________________________ 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.
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130721/0cff31fd/attachment-0001.html>
------------------------------
Message: 3 Date: Sun, 21 Jul 2013 20:50:56 +0100 From: Eliana Silva <eliana.va.silva@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: [R-br] Datas em R Message-ID: <CAHd1w0ZV9J6G0sEr2nvrHd0ifgsp33uJ1MAPPkQC1oitnqHZdQ@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Boa tarde,
gostaria de ter a vossa ajuda numa situação. Ao ter 3 datas por exemplo~ 2012-05-15 2012-05-16 2012-05-17
Gostaria de saber como faço a combinaçao das 3 datas mas calcular apenas uma vez ou seja, eu quero saber 2012-05-15-2012-05-16 2012-05-15-2012-05-17 2012-05-16-2012-05-17
Obrigada -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130721/239a7f7a/attachment-0001.html>
------------------------------
Message: 4 Date: Sun, 21 Jul 2013 18:00:47 -0300 From: Fátima Lima Paula <fatima.lima.paula@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: [R-br] subset Message-ID: <CAJzNC0v7ReqdjJhzRfGrgvf1JFUc0vJqM_Dok8nekXQVLN6WaQ@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Olá companheiros do R. Quero criar um dataframe a partir de algumas categorias de uma variável. Não sei o que estou fazendo de errado. Exemplo:
nome=c("a","b","c","d","e","f","g","h","i","j","k") ide=c("1","2","3","1","2","4","6","6","9","2","1") df=cbind(nome,ide) df=as.data.frame(df) df #quero um dataframe apenas com os ide = 1, 3 e 6 teste=subset(df,ide==c("1","3","6")) teste Mensagens de aviso perdidas: 1: In is.na(e1) | is.na(e2) : comprimento do objeto maior não é múltiplo do comprimento do objeto menor 2: In `==.default`(ide, c("1", "3", "6")) : comprimento do objeto maior não é múltiplo do comprimento do objeto menor teste
#Cria algo que não tem nada a ver:
nome ide 1 a 1 4 d 1
Alguém pode me dizer onde estou errando? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos" -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130721/33dc9249/attachment-0001.html>
------------------------------
Message: 5 Date: Sun, 21 Jul 2013 18:14:32 -0300 From: Benilton Carvalho <beniltoncarvalho@gmail.com> To: r-br <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] subset Message-ID: <CAO-arWN5jt9=QjjfOn5JyMPC7GCNL9McCtBT=4B6JN6kY2diRw@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1
subset(df, ide %in% c('1', '3', '6'))
2013/7/21 Fátima Lima Paula <fatima.lima.paula@gmail.com>:
Olá companheiros do R. Quero criar um dataframe a partir de algumas categorias de uma variável. Não sei o que estou fazendo de errado. Exemplo:
nome=c("a","b","c","d","e","f","g","h","i","j","k") ide=c("1","2","3","1","2","4","6","6","9","2","1") df=cbind(nome,ide) df=as.data.frame(df) df #quero um dataframe apenas com os ide = 1, 3 e 6 teste=subset(df,ide==c("1","3","6")) teste Mensagens de aviso perdidas: 1: In is.na(e1) | is.na(e2) : comprimento do objeto maior não é múltiplo do comprimento do objeto menor 2: In `==.default`(ide, c("1", "3", "6")) : comprimento do objeto maior não é múltiplo do comprimento do objeto menor teste
#Cria algo que não tem nada a ver:
nome ide 1 a 1 4 d 1
Alguém pode me dizer onde estou errando? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ 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.
------------------------------
Message: 6 Date: Sun, 21 Jul 2013 18:27:13 -0300 From: Fátima Lima Paula <fatima.lima.paula@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] subset Message-ID: <CAJzNC0sObDcN7X5Wck82+BCp-CP3W6hFpKVD9YUNsJbwVHjhjg@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Perfeito Benilton. O pior é que eu acho que já havia perguntado isso e você já havia respondido. Desculpe, mas na pressa, vocês são mais eficientes do que minhas buscas. Abs
Em 21 de julho de 2013 18:14, Benilton Carvalho <beniltoncarvalho@gmail.com>escreveu:
subset(df, ide %in% c('1', '3', '6'))
2013/7/21 Fátima Lima Paula <fatima.lima.paula@gmail.com>:
Olá companheiros do R. Quero criar um dataframe a partir de algumas categorias de uma variável. Não sei o que estou fazendo de errado. Exemplo:
nome=c("a","b","c","d","e","f","g","h","i","j","k") ide=c("1","2","3","1","2","4","6","6","9","2","1") df=cbind(nome,ide) df=as.data.frame(df) df #quero um dataframe apenas com os ide = 1, 3 e 6 teste=subset(df,ide==c("1","3","6")) teste Mensagens de aviso perdidas: 1: In is.na(e1) | is.na(e2) : comprimento do objeto maior não é múltiplo do comprimento do objeto menor 2: In `==.default`(ide, c("1", "3", "6")) : comprimento do objeto maior não é múltiplo do comprimento do objeto menor teste
#Cria algo que não tem nada a ver:
nome ide 1 a 1 4 d 1
Alguém pode me dizer onde estou errando? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
_______________________________________________ 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.
-- "Minha felicidade depende da qualidade dos meus pensamentos" -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130721/c2310c60/attachment-0001.html>
------------------------------
Message: 7 Date: Sun, 21 Jul 2013 18:49:50 -0300 From: Felipe Sodre Barros <felipe.b4rros@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: [R-br] Funcao L(K Ripley's transf.) com mais de 3000 pontos Message-ID: <CALA-_BVZH955aVWYDNoJS4O72Rtj+_3SghB3VQjbQL8XaWCaOg@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Boa noite. Estou fazendo uma análise de processos pontuais, utilizando o pacote spatstat. Ao tentar realizar a análise L, me deparei com um problema: Meus dados superam o 'nlarge' (defindo como 3.000). E por mais que eu tente aumentar o 'nlarge', tenho como resultado que os dados são muito grandes, sendo por isto impossível de alocar XXmb.
Contudo, se eu rodar tal análise sem a geração de simulações (envelope), ele apenas me informa que o n dos dados que possuo são superiores a 3000 e por isto apenas calculará o 'bordar correction'. A minha duvida está, em que de fato representa o 'border correction' calculado. Posso utiliza-lo como se este representasse o padrão de distribuição do processo analisado? Desde já vos agradeço. Att -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130721/baf1aa4d/attachment-0001.html>
------------------------------
Message: 8 Date: Mon, 22 Jul 2013 08:57:06 -0300 From: Elias Krainski <eliaskrainski@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Funcao L(K Ripley's transf.) com mais de 3000 pontos Message-ID: <51ED1E12.2000304@yahoo.com.br> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Veja Kenv.csr() e khat() do pacote 'splancs'.
------------------------------
Message: 9 Date: Mon, 22 Jul 2013 08:57:41 -0300 From: Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: [R-br] Duvida Concatenação Message-ID: <CAEuVWs00mO55tqMaokCbJx0pF3UUSLRJDsbn-+qFfYwPKhXMTA@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Prezados
Estou tentando concatenar uma variável com a seguinte condição: Se ela tiver tamanho 1, gostaria de concatenar 000, se ela tiver tamanho 2 concateno 00 e se ela tiver tamanho 3 concateno 0.
Eu pensei na seguinte função:
dados$len <- nchar(dados$var) func <- function(){ if (dados$len == 1){ dados$var1 = paste("000", dados$var, colapse="") } else if (dados$len == 2){ dados$var1 = paste("00", dados$var, colapse="")} else if (dados$len == 3){ dados$var1 = paste("0", dados$var, colapse="")} } func()
Mas está dando a seguinte mensagem de erro:
Mensagens de aviso perdidas: In if (dados$len == 1) { : a condição tem comprimento > 1 e somente o primeiro elemento será usado
Vi em outro tópico que o Benilton sugere usar with, mas não sei como fazer.
Abraços
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/7123a232/attachment-0001.html>
------------------------------
Message: 10 Date: Mon, 22 Jul 2013 09:00:29 -0300 From: Elias Krainski <eliaskrainski@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Duvida Concatenação Message-ID: <51ED1EDD.3080900@yahoo.com.br> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
Se a variável for inteiro sprintf("%04d", c(1,3,30,50,900))
On 07/22/2013 08:57 AM, Sérgio Henrique almeida da silva ju wrote:
Prezados
Estou tentando concatenar uma variável com a seguinte condição: Se ela tiver tamanho 1, gostaria de concatenar 000, se ela tiver tamanho 2 concateno 00 e se ela tiver tamanho 3 concateno 0.
Eu pensei na seguinte função:
dados$len <- nchar(dados$var) func <- function(){ if (dados$len == 1){ dados$var1 = paste("000", dados$var, colapse="") } else if (dados$len == 2){ dados$var1 = paste("00", dados$var, colapse="")} else if (dados$len == 3){ dados$var1 = paste("0", dados$var, colapse="")} } func()
Mas está dando a seguinte mensagem de erro:
Mensagens de aviso perdidas: In if (dados$len == 1) { : a condição tem comprimento > 1 e somente o primeiro elemento será usado
Vi em outro tópico que o Benilton sugere usar with, mas não sei como fazer.
Abraços
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/c61bfef7/attachment-0001.html>
------------------------------
Message: 11 Date: Mon, 22 Jul 2013 09:03:30 -0300 From: Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Duvida Concatenação Message-ID: <CAEuVWs1AgBsUb6jU_1D8Diycb2x05d8Q231mFYfx+aNzMd2fMg@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Não entendi Elias!
Em 22 de julho de 2013 09:00, Elias Krainski <eliaskrainski@yahoo.com.br>escreveu:
Se a variável for inteiro sprintf("%04d", c(1,3,30,50,900))
On 07/22/2013 08:57 AM, Sérgio Henrique almeida da silva ju wrote:
Prezados
Estou tentando concatenar uma variável com a seguinte condição: Se ela tiver tamanho 1, gostaria de concatenar 000, se ela tiver tamanho 2 concateno 00 e se ela tiver tamanho 3 concateno 0.
Eu pensei na seguinte função:
dados$len <- nchar(dados$var) func <- function(){ if (dados$len == 1){ dados$var1 = paste("000", dados$var, colapse="") } else if (dados$len == 2){ dados$var1 = paste("00", dados$var, colapse="")} else if (dados$len == 3){ dados$var1 = paste("0", dados$var, colapse="")} } func()
Mas está dando a seguinte mensagem de erro:
Mensagens de aviso perdidas: In if (dados$len == 1) { : a condição tem comprimento > 1 e somente o primeiro elemento será usado
Vi em outro tópico que o Benilton sugere usar with, mas não sei como fazer.
Abraços
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ R-br mailing listR-br@listas.c3sl.ufpr.brhttps://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.
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/206d6788/attachment-0001.html>
------------------------------
Message: 12 Date: Mon, 22 Jul 2013 09:21:01 -0300 From: Elias Krainski <eliaskrainski@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Duvida Concatenação Message-ID: <51ED23AD.6040807@yahoo.com.br> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
sprintf(), usando '%04d', faz o que vc quer para inteiros.
Se dados$var é 'character', use
aaa <- sapply(3:0, function(n) paste(rep(0, n), collapse='')) dados$var1 <- paste(aaa[nchar(dados$var)], dados$var, collapse='')
------------------------------
Message: 13 Date: Mon, 22 Jul 2013 09:22:53 -0300 From: Elias Krainski <eliaskrainski@yahoo.com.br> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Duvida Concatenação Message-ID: <51ED241D.2000802@yahoo.com.br> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
if (dados$len == 1){
A sua solucao nao funciona porque essa condicao tem comprimento igual ao tamanho de dados$len, mas if() precisa de TRUE ou FALSE (tamanho 1).
------------------------------
Message: 14 Date: Mon, 22 Jul 2013 09:36:45 -0300 From: Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Duvida Concatenação Message-ID: <CAEuVWs3vuEk4+167DRwRMKzJbbhq1DqtTg3__XOtJDwh-GONUw@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Elias
Não funcionou!
O comando criou o resultado abaixo, tudo dentro da mesma variável.
000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
Em 22 de julho de 2013 09:22, Elias Krainski <eliaskrainski@yahoo.com.br>escreveu:
if (dados$len == 1){
A sua solucao nao funciona porque essa condicao tem comprimento igual ao tamanho de dados$len, mas if() precisa de TRUE ou FALSE (tamanho 1).
______________________________**_________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-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<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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/ea70e27b/attachment-0001.html>
------------------------------
Message: 15 Date: Mon, 22 Jul 2013 09:39:21 -0300 From: Rodrigo Coster <rcoster@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Duvida Concatenação Message-ID: <CAKU4wot2CKashPjVfBtLRtNA0fPq8SghwE2r3jpbrJzQ93_2SA@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Sergio,
da um dput(head(dados$var)) e nos cola o que aparecer na tela
2013/7/22 Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com>
Elias
Não funcionou!
O comando criou o resultado abaixo, tudo dentro da mesma variável.
000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
Em 22 de julho de 2013 09:22, Elias Krainski <eliaskrainski@yahoo.com.br>escreveu:
if (dados$len == 1){
A sua solucao nao funciona porque essa condicao tem comprimento igual ao tamanho de dados$len, mas if() precisa de TRUE ou FALSE (tamanho 1).
______________________________**_________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-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<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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/6f5cdf0b/attachment-0001.html>
------------------------------
Message: 16 Date: Mon, 22 Jul 2013 09:45:08 -0300 From: Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Duvida Concatenação Message-ID: <CAEuVWs0eEZfki7BhPWB2z8EuPifQXA1yaynU8_xh=hecyeDR8g@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
dput(head(dados$Filial)) c(1L, 1L, 1L, 1L, 1L, 1L)
Exemplo a variável pode ter os seguintes valores: 0, 1, 01, 44, 456, 0001 e eu quero que ela fique assim: 0000, 0001, 0001, 0044, 0456, 0001.
Abraços
Em 22 de julho de 2013 09:39, Rodrigo Coster <rcoster@gmail.com> escreveu:
Sergio,
da um dput(head(dados$var)) e nos cola o que aparecer na tela
2013/7/22 Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com>
Elias
Não funcionou!
O comando criou o resultado abaixo, tudo dentro da mesma variável.
000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
Em 22 de julho de 2013 09:22, Elias Krainski <eliaskrainski@yahoo.com.br>escreveu:
if (dados$len == 1){
A sua solucao nao funciona porque essa condicao tem comprimento igual ao tamanho de dados$len, mas if() precisa de TRUE ou FALSE (tamanho 1).
______________________________**_________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-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<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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ 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.
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/673d6415/attachment-0001.html>
------------------------------
Message: 17 Date: Mon, 22 Jul 2013 09:48:02 -0300 From: Rodrigo Coster <rcoster@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Duvida Concatenação Message-ID: <CAKU4wotd=pyFwVfNByq13FtpVWwaOHp6OOhRvRm+K+BxusE8jQ@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Entao o que tu precisa fazer é dados$Filial <- sprintf('%04d', dados$Filial)
2013/7/22 Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com>
dput(head(dados$Filial)) c(1L, 1L, 1L, 1L, 1L, 1L)
Exemplo a variável pode ter os seguintes valores: 0, 1, 01, 44, 456, 0001 e eu quero que ela fique assim: 0000, 0001, 0001, 0044, 0456, 0001.
Abraços
Em 22 de julho de 2013 09:39, Rodrigo Coster <rcoster@gmail.com> escreveu:
Sergio,
da um dput(head(dados$var)) e nos cola o que aparecer na tela
2013/7/22 Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com>
Elias
Não funcionou!
O comando criou o resultado abaixo, tudo dentro da mesma variável.
000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
Em 22 de julho de 2013 09:22, Elias Krainski <eliaskrainski@yahoo.com.br
escreveu:
if (dados$len == 1){
A sua solucao nao funciona porque essa condicao tem comprimento igual ao tamanho de dados$len, mas if() precisa de TRUE ou FALSE (tamanho 1).
______________________________**_________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-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<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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ 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.
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/e90384a3/attachment-0001.html>
------------------------------
Message: 18 Date: Mon, 22 Jul 2013 09:51:08 -0300 From: Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Duvida Concatenação Message-ID: <CAEuVWs2GS1eFk+boEuqr4MGg8vwMjZwK4nKujbdwgZVwDsvvXw@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Funcionou amigo!
Obrigado.
Em 22 de julho de 2013 09:48, Rodrigo Coster <rcoster@gmail.com> escreveu:
Entao o que tu precisa fazer é dados$Filial <- sprintf('%04d', dados$Filial)
2013/7/22 Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com>
dput(head(dados$Filial)) c(1L, 1L, 1L, 1L, 1L, 1L)
Exemplo a variável pode ter os seguintes valores: 0, 1, 01, 44, 456, 0001 e eu quero que ela fique assim: 0000, 0001, 0001, 0044, 0456, 0001.
Abraços
Em 22 de julho de 2013 09:39, Rodrigo Coster <rcoster@gmail.com>escreveu:
Sergio,
da um dput(head(dados$var)) e nos cola o que aparecer na tela
2013/7/22 Sérgio Henrique almeida da silva ju <sergio.edfisica@gmail.com
Elias
Não funcionou!
O comando criou o resultado abaixo, tudo dentro da mesma variável.
000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
Em 22 de julho de 2013 09:22, Elias Krainski < eliaskrainski@yahoo.com.br> escreveu:
> if (dados$len == 1){ > A sua solucao nao funciona porque essa condicao tem comprimento igual ao tamanho de dados$len, mas if() precisa de TRUE ou FALSE (tamanho 1).
______________________________**_________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/**cgi-bin/mailman/listinfo/r-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<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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ 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.
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ 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.
-- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130722/2afa214e/attachment-0001.html>
------------------------------
Subject: Legenda do Digest
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
------------------------------
Fim da Digest R-br, volume 31, assunto 26 *****************************************
participantes (1)
-
alanarocha@sapo.pt