[R-br] Editar dados em arquivo *txt em um data frame
ASANTOS
alexandre.santos em cas.ifmt.edu.br
Qui Mar 26 16:47:26 -03 2020
Obrigado Max, Mauro e Cesar,
Deu certo, só tive que transformar o objeto *tibble* em *dataframe* na
solução inicial do Max e tem outra que não necessita do pacote
tidyverse, mas utilizam gsub, strsplit e grep, seguem as soluções:
# Solução 1
library(tidyverse)
myfile <- read_lines("log.txt")
names_col <- c("iteration", "total_loss", "loss_error", "rate", "time",
"n_images")
mydf <- myfile %>%
str_subset("images$") %>%
enframe(name = NULL) %>%
separate(col = value, into = names_col, sep = "[:,]") %>%
mutate_all(parse_number)
head(as.data.frame(mydf))
# iteration total_loss loss_error rate time n_images
#1 1 799.2195 799.2195 0 654.6613 24
#2 2 799.5554 799.2531 0 672.5197 48
#3 3 801.0438 799.4322 0 667.1184 72
#4 4 799.9001 799.4790 0 647.3321 96
#5 5 801.5366 799.6848 0 660.7798 120
#6 6 799.3589 799.6522 0 683.4424 144
#Solução 2
myfile <- read_lines("log.txt")
tmp <- myfile[grep("^\\d*\\:", unlist(myfile))]
tmp <- do.call(rbind, strsplit(tmp, ", "))
tmp <- data.frame(do.call(rbind, strsplit(tmp[, 1], "\\: ")), tmp[, -1],
stringsAsFactors=FALSE)
tmp[] <- lapply(tmp, gsub, pat="\\s.+", repl="")
tmp[] <- lapply(tmp, as.numeric)
mydf <- setNames(tmp, c("iteration", "total_loss", "loss_error", "rate",
"time", "n_images"))
head(mydf)
# iteration total_loss loss_error rate time n_images
# 1 1 799.2195 799.2195 0 654.6613 24
# 2 2 799.5554 799.2531 0 672.5197 48
# 3 3 801.0438 799.4322 0 667.1184 72
# 4 4 799.9001 799.4790 0 647.3321 96
# 5 5 801.5366 799.6848 0 660.7798 120
# 6 6 799.3589 799.6522 0 683.4424 144
Abraços,
Alexandre
Em 26/03/2020 11:00, r-br-request em listas.c3sl.ufpr.br escreveu:
> Enviar submissões para a lista de discussão R-br para
> r-br em 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 em listas.c3sl.ufpr.br
>
> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
> endereço
> r-br-owner em 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: Editar dados em arquivo *txt em um data frame
> (verginio em unesc.net)
> 2. Re: Editar dados em arquivo *txt em um data frame
> (sznelwar em uol.com.br)
> 3. Re: Editar dados em arquivo *txt em um data frame (Cesar Rabak)
> 4. Re: Editar dados em arquivo *txt em um data frame
> (sznelwar em uol.com.br)
> 5. Re: Editar dados em arquivo *txt em um data frame (Cesar Rabak)
> 6. Re: Editar dados em arquivo *txt em um data frame (Cesar Rabak)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 25 Mar 2020 11:27:44 -0500 (CDT)
> From: verginio em unesc.net
> To: r-br em listas.c3sl.ufpr.br
> Subject: Re: [R-br] Editar dados em arquivo *txt em um data frame
> Message-ID:
> <1738291108.330325.1585153664487.JavaMail.administrator em n4.nabble.com>
> Content-Type: text/plain; charset=UTF-8
>
> Olá,
>
> Segue uma sugestão:
>
>
> library(tidyverse)
> myfile <- read_lines("log.txt")
>
> names_col <- c("iteration", "total_loss", "loss_error", "rate", "time", "n_images")
>
> mydf <- myfile %>%
> str_subset("images$") %>%
> enframe(name = NULL) %>%
> separate(col = value, into = names_col, sep = "[:,]") %>%
> mutate_all(parse_number)
>
> mydf
>
>
> Atenciosamente,
> Max Richard Verginio
>
> _____________________________________
> Sent from http://r-br.2285057.n4.nabble.com
>
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 25 Mar 2020 18:33:22 -0300
> From: sznelwar em uol.com.br
> To: r-br em listas.c3sl.ufpr.br
> Subject: Re: [R-br] Editar dados em arquivo *txt em um data frame
> Message-ID:
> <5e7bce22943e_5e922b1d522cd10870933 em ip-10-81-19-112.ec2.internal.mail>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Um anexo em HTML foi limpo...
> URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200325/4345eda5/attachment-0001.html>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 25 Mar 2020 21:02:08 -0300
> From: Cesar Rabak <cesar.rabak em gmail.com>
> To: a lista Brasileira oficial de discussão do programa R.
> <r-br em listas.c3sl.ufpr.br>
> Subject: Re: [R-br] Editar dados em arquivo *txt em um data frame
> Message-ID:
> <CAKrF98=mp-fZR0jFxuN4VwOF_EceOenERbqav7a+OOucVqarvQ em mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> O arquivo que o OP postou o *link* não lhe parece adequado?
>
>
>
> On Wed, Mar 25, 2020 at 6:33 PM Mauro Sznelwar por (R-br) <
> r-br em listas.c3sl.ufpr.br> wrote:
>
>> Tem um arquivo para rodar e ver como fica?
>>
>>
>> Olá,
>>
>> Segue uma sugestão:
>>
>>
>> library(tidyverse)
>> myfile <- read_lines("log.txt")
>>
>> names_col <- c("iteration", "total_loss", "loss_error", "rate", "time",
>> "n_images")
>>
>> mydf <- myfile %>%
>> str_subset("images$") %>%
>> enframe(name = NULL) %>%
>> separate(col = value, into = names_col, sep = "[:,]") %>%
>> mutate_all(parse_number)
>>
>> mydf
>>
>>
>> Atenciosamente,
>> Max Richard Verginio
>>
>> _____________________________________
>> Sent from http://r-br.2285057.n4.nabble.com
>>
>> _______________________________________________
>> 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.
>>
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200325/53488a8e/attachment-0001.html>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 25 Mar 2020 21:27:44 -0300
> From: sznelwar em uol.com.br
> To: r-br em listas.c3sl.ufpr.br
> Subject: Re: [R-br] Editar dados em arquivo *txt em um data frame
> Message-ID:
> <5e7bf70012764_4c462b1d522cd1087147c em ip-10-81-19-112.ec2.internal.mail>
>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Um anexo em HTML foi limpo...
> URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200325/5fcc4576/attachment-0001.html>
>
> ------------------------------
>
> Message: 5
> Date: Wed, 25 Mar 2020 21:31:37 -0300
> From: Cesar Rabak <cesar.rabak em gmail.com>
> To: a lista Brasileira oficial de discussão do programa R.
> <r-br em listas.c3sl.ufpr.br>
> Subject: Re: [R-br] Editar dados em arquivo *txt em um data frame
> Message-ID:
> <CAKrF98nTgqFA9E_Zy5o6X2B2bEQ0LT=fdg1MtMx-nsTBy22xgQ em mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Veja esta linha no texto do OP:
>
>> #Arquivo original
>> https://www.dropbox.com/s/pncmjwl3camap6d/log.txt?dl=0
>>
> Fazendo a entrada conforme a sugestão do Max:
>> str(myfile)
> chr [1:1445] "obj" "Learning Rate: 0.001, Momentum: 0.9, Decay: 0.0005" ...
>
> HTH
> --
> Cesar Rabak
>
>
> On Wed, Mar 25, 2020 at 9:27 PM Mauro Sznelwar por (R-br) <
> r-br em listas.c3sl.ufpr.br> wrote:
>
>> Muito obrigado pelo retorno! Sim, eu acabei vendo e consegui rodar, mas
>> ele só motra os dez primeiros dados, como faço para ver o resto?
>>
>>
>>
>> O arquivo que o OP postou o *link* não lhe parece adequado?
>>
>>
>>
>> On Wed, Mar 25, 2020 at 6:33 PM Mauro Sznelwar por (R-br) <
>> r-br em listas.c3sl.ufpr.br
>> <http://../../../undefined//compose?to=r-br@listas.c3sl.ufpr.br>> wrote:
>>
>>> Tem um arquivo para rodar e ver como fica?
>>>
>>>
>>> Olá,
>>>
>>> Segue uma sugestão:
>>>
>>>
>>> library(tidyverse)
>>> myfile <- read_lines("log.txt")
>>>
>>> names_col <- c("iteration", "total_loss", "loss_error", "rate", "time",
>>> "n_images")
>>>
>>> mydf <- myfile %>%
>>> str_subset("images$") %>%
>>> enframe(name = NULL) %>%
>>> separate(col = value, into = names_col, sep = "[:,]") %>%
>>> mutate_all(parse_number)
>>>
>>> mydf
>>>
>>>
>>> Atenciosamente,
>>> Max Richard Verginio
>>>
>>> _____________________________________
>>> Sent from http://r-br.2285057.n4.nabble.com
>>>
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em listas.c3sl.ufpr.br
>>> <http://../../../undefined//compose?to=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 em listas.c3sl.ufpr.br
>>> <http://../../../undefined//compose?to=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 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.
>>
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200325/9e13902f/attachment-0001.html>
>
> ------------------------------
>
> Message: 6
> Date: Wed, 25 Mar 2020 21:36:32 -0300
> From: Cesar Rabak <cesar.rabak em gmail.com>
> To: a lista Brasileira oficial de discussão do programa R.
> <r-br em listas.c3sl.ufpr.br>
> Subject: Re: [R-br] Editar dados em arquivo *txt em um data frame
> Message-ID:
> <CAKrF98nxi4mdR9mtQnS0DOwyfUeqKJ+EBKsAF1hHNKNSb11YvA em mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Só gostaria de comentar, que o resultado mydf finda sendo um *tibble* e não
> mais "apenas" um *data.frame*.
>
> Se isso é vantajoso ou requer que o tiblle seja demovido para data.frame só
> Alexandre pode aquilatar...
>
> HTH
> --
> Cesar Rabak
>
> On Wed, Mar 25, 2020 at 1:28 PM Max Richard Verginio por (R-br) <
> r-br em listas.c3sl.ufpr.br> wrote:
>
>> Olá,
>>
>> Segue uma sugestão:
>>
>>
>> library(tidyverse)
>> myfile <- read_lines("log.txt")
>>
>> names_col <- c("iteration", "total_loss", "loss_error", "rate", "time",
>> "n_images")
>>
>> mydf <- myfile %>%
>> str_subset("images$") %>%
>> enframe(name = NULL) %>%
>> separate(col = value, into = names_col, sep = "[:,]") %>%
>> mutate_all(parse_number)
>>
>> mydf
>>
>>
>> Atenciosamente,
>> Max Richard Verginio
>>
>> _____________________________________
>> Sent from http://r-br.2285057.n4.nabble.com
>>
>> _______________________________________________
>> 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/20200325/cb109757/attachment-0001.html>
>
> ------------------------------
>
> Subject: Legenda do Digest
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
> ------------------------------
>
> Fim da Digest R-br, volume 111, assunto 7
> *****************************************
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20200326/9301f50a/attachment.html>
Mais detalhes sobre a lista de discussão R-br