[R-br] Ajudar com organização de dados horários

Cesar Rabak cesar.rabak em gmail.com
Sáb Set 17 17:17:52 -03 2022


Vou postar minha sessão aqui para vermos onde pode estar a diferença...
~/Downloads$ R

R version 4.2.1 (2022-06-23) -- "Funny-Looking Kid"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R é um software livre e vem sem GARANTIA ALGUMA.
Você pode redistribuí-lo sob certas circunstâncias.
Digite 'license()' ou 'licence()' para detalhes de distribuição.

R é um projeto colaborativo com muitos contribuidores.
Digite 'contributors()' para obter mais informações e
'citation()' para saber como citar o R ou pacotes do R em publicações.

Digite 'demo()' para demonstrações, 'help()' para o sistema on-line de
ajuda,
ou 'help.start()' para abrir o sistema de ajuda em HTML no seu navegador.
Digite 'q()' para sair do R.

[Área de trabalho anterior carregada]

> rm(list=ls())
> #
> library(lubridate)

Attaching package: ‘lubridate’

The following objects are masked from ‘package:base’:

    date, intersect, setdiff, union

> library(tidyverse)
── Attaching packages ─────────────────────────────────────── tidyverse
1.3.1 ──
✔ ggplot2 3.3.6      ✔ purrr   0.3.4
✔ tibble  3.1.7      ✔ dplyr   1.0.10
✔ tidyr   1.2.1      ✔ stringr 1.4.1
✔ readr   2.1.2      ✔ forcats 0.5.2
── Conflicts ──────────────────────────────────────────
tidyverse_conflicts() ──
✖ lubridate::as.difftime() masks base::as.difftime()
✖ lubridate::date()        masks base::date()
✖ dplyr::filter()          masks stats::filter()
✖ lubridate::intersect()   masks base::intersect()
✖ dplyr::lag()             masks stats::lag()
✖ lubridate::setdiff()     masks base::setdiff()
✖ lubridate::union()       masks base::union()
> library(dplyr)
> library(hrbrthemes)
NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use
these themes.
      Please use hrbrthemes::import_roboto_condensed() to install Roboto
Condensed and
      if Arial Narrow is not on your system, please see
https://bit.ly/arialnarrow
> library(GGally)
Registered S3 method overwritten by 'GGally':
  method from
  +.gg   ggplot2
> library(ggplot2)
> # Dados
-------------------------------------------------------------------
> # Chuva
> input<- read.table('Rain_1.txt', header = T, sep = ',', dec = '.',
+                    na.strings = c('NAN', 'NaN', 'Inf', 'NA'))
> head(ymd_hms(input$TIMESTAMP))
[1] "2021-02-23 10:00:00 UTC" "2021-03-10 11:00:00 UTC"
[3] "2021-03-10 11:30:00 UTC" "2021-03-10 12:00:00 UTC"
[5] "2021-03-10 12:30:00 UTC" "2021-03-10 13:00:00 UTC"
> head(as.Date(ymd_hms(input$TIMESTAMP)))
[1] "2021-02-23" "2021-03-10" "2021-03-10" "2021-03-10" "2021-03-10"
[6] "2021-03-10"
>

SE sua diferença está com as definições nos 'NA', note que eu estou usando
o script do OP. . .

HTH

On Fri, Sep 16, 2022 at 10:21 PM sznelwar--- por (R-br) <
r-br em listas.c3sl.ufpr.br> wrote:

> As linhas que analisa.
> Ao mencionar "o mesmo resultado" você está discutindo as linhas que eu
> analiso ou  a postagem inicial ?
>
> On Fri, Sep 16, 2022 at 1:41 AM sznelwar--- por (R-br) <
> r-br em listas.c3sl.ufpr.br> wrote:
>
>> Eu não consegui chegar no mesmo resultado com este script:
>>
>> rm(list=ls())
>> library(lubridate)
>> library(tidyverse)
>> library(dplyr)
>> library(hrbrthemes)
>> library(GGally)
>> library(ggplot2)
>>
>> # Dados
>> -------------------------------------------------------------------
>> # Chuva
>> input<- read.table('Rain_1.txt', header = T, sep = ',', dec = '.')
>> #
>> # Organizar os dados
>> ------------------------------------------------------
>> # converter o TIMESTEP em data
>> input$TIMESTAMP<- as.Date(ymd_hms(input$TIMESTAMP))
>> #tentei
>> input$TIMESTAMP<- as.Date(input$TIMESTAMP)
>> #
>> #
>> #Adicionado os meses e anos nas observações
>> #### a saída é em um caracter converter para numerico
>> input$Year<-format(input$TIMESTAMP, '%Y')
>> input$Month<-format(input$TIMESTAMP, '%m')
>> input$Day<-format(input$TIMESTAMP, '%d')
>> input$Doy<-format(input$TIMESTAMP, '%J')
>> input$Hour.s<-format(input$TIMESTAMP, '%H')
>> E não cheguei no vosso resultado. Com este comando abaixo só abri com NaN
>> input<- read.table('Rain_1.txt', header = T, sep = ',', dec = '.',
>>                    na.strings = c('NAN', 'NaN', 'Inf', 'NA'))
>> #
>>
>> Quando você executa esta linha:
>> > input$TIMESTAMP<- as.Date(ymd_hms(input$TIMESTAMP))
>>
>> Você destrói o conteúdo da coluna TIMESTAMP e a substitui pela parte da
>> data calendário apenas, efetivamente perdendo a parte fracionária do dia.
>>
>> Compare o resultado das seguintes linhas:
>> > head(ymd_hms(input$TIMESTAMP))
>> [1] "2021-02-23 10:00:00 UTC" "2021-03-10 11:00:00 UTC"
>> [3] "2021-03-10 11:30:00 UTC" "2021-03-10 12:00:00 UTC"
>> [5] "2021-03-10 12:30:00 UTC" "2021-03-10 13:00:00 UTC"
>> > head(as.Date(ymd_hms(input$TIMESTAMP)))
>> [1] "2021-02-23" "2021-03-10" "2021-03-10" "2021-03-10" "2021-03-10"
>> [6] "2021-03-10"
>>
>> Se vc só precisa da data no formato POSIX para usar com lubridate e
>> afins, então a substituição deve ser sem o as.Date e somente depois
>> processar esses valores.
>>
>> HTH
>>
>> --
>> Cesar Rabak
>>
>>
>>
>> On Tue, Sep 13, 2022 at 11:09 PM Bruce Kelly por (R-br) <
>> r-br em listas.c3sl.ufpr.br> wrote:
>>
>>> Segue o arquivo =)
>>>
>>>
>>>
>>>
>>>
>>> ------------------------------
>>> *De:* R-br <r-br-bounces em listas.c3sl.ufpr.br> em nome de sznelwar---
>>> por (R-br) <r-br em listas.c3sl.ufpr.br>
>>> *Enviado:* quarta-feira, 14 de setembro de 2022 01:29
>>> *Para:* r-br em listas.c3sl.ufpr.br <r-br em listas.c3sl.ufpr.br>
>>> *Cc:* sznelwar em uol.com.br <sznelwar em uol.com.br>
>>> *Assunto:* Re: [R-br] Ajudar com organização de dados horários
>>>
>>> Não foi enviado o arquivo Rain_1.txt.
>>> Boa noite pessoal,
>>> Estou com dúvida de como acrescentar a coluna horaria de algumas. Estou
>>> usando as seguintes scritp:
>>>
>>> rm(list=ls())
>>> #
>>> library(lubridate)
>>> library(tidyverse)
>>> library(dplyr)
>>> library(hrbrthemes)
>>> library(GGally)
>>> library(ggplot2)
>>>
>>> # Dados
>>> -------------------------------------------------------------------
>>> # Chuva
>>> input<- read.table('Rain_1.txt', header = T, sep = ',', dec = '.',
>>>                    na.strings = c('NAN', 'NaN', 'Inf', 'NA'))
>>> #
>>>                    dec = '.', na.strings = c('NAN', 'NaN', 'Inf'))
>>> # Organizar os dados
>>> ------------------------------------------------------
>>> # converter o TIMESTEP em data
>>> input$TIMESTAMP<- as.Date(ymd_hms(input$TIMESTAMP))
>>> #tentei
>>> input$TIMESTAMP<- as.Date(input$TIMESTAMP))
>>> #
>>> #
>>> #Adicionado os meses e anos nas observações
>>> #### a saída é em um caracter converter para numerico
>>> input$Year<-format(input$TIMESTAMP, '%Y')
>>> input$Month<-format(input$TIMESTAMP, '%m')
>>> input$Day<-format(input$TIMESTAMP, '%d')
>>> input$Doy<-format(input$TIMESTAMP, '%J')
>>> input$Hour.s<-format(input$TIMESTAMP, '%H')
>>>
>>> Quando executo a coluna Hour.s fica zerada como mostra a figura. E
>>> preciso que essa coluna horaria com mediação a cada 30min, fique na
>>> variação de 0-23h (0.5, 1, 1.5,...23,5)
>>>
>>> estrutura do TIMESTAMP antes de ser convertido em data
>>>
>>>
>>> Obrigado pela ajuda e atenção de todo (@s)
>>>
>>>
>>> _______________________________________________
>>> 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._______________________________________________
>> 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. _______________________________________________
> 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/20220917/25389369/attachment.htm>


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