Как обрабатывать часовые пояса в отметках времени в R? [закрыто]

Esto parece hacer lo que parece querer, dada la falta de salida de muestra:

awk 'NF == 3 && $2 != "0.0000E+00" { print $1 }' /path/to/input
1.726
1.877
4.152
4.303
4.455

Si realmente está solicitando el primer campo en la última línea donde el segundo campo es no(matemáticamente )cero que es seguido de un registro donde el segundo campo es(matemáticamente )cero, seguido solo por el primer campo del primer registro subsiguiente donde el segundo campo es nuevamente no(matemáticamente )cero.. esto también es factible con un relativamente guion sencillo awk:

$ cat go.awk
BEGIN { 
  test=0
}

NF == 3 && test == 0 && $2 != "0.0000E+00" {
  keptvalue=$1
}

NF == 3 && test == 0 && $2 == "0.0000E+00" {
  print keptvalue
  test=1
}

NF == 3 && test == 1 && $2 != "0.0000E+00" {
  print $1
  test=0
}
$ awk -f go.awk input
1.877
4.152
-1
23.05.2017, 15:40
1 ответ

ISO 8601 является одним из возможных форматов; он может содержать смещение часового пояса и может быть проанализирован, например, с помощью strptime на разных языках.

$ cat x
2017-05-05T18:25:28+0100,2017-05-05T18:33:22+0100,foo
2017-05-05T18:34:21+0100,2017-05-05T18:38:52+0100,bar
$ R -q --silent --no-save
> R.version.string
[1] "R version 3.4.0 (2017-04-21)"
> setClass('iso8601')
> setAs("character","iso8601",function(from) strptime(from,format="%Y-%m-%dT%H:%M:%S%z"))
> data=read.csv("x",colClasses=c("iso8601","iso8601",NA),header=FALSE)
> data
                   V1                  V2  V3
1 2017-05-05 17:25:28 2017-05-05 17:33:22 foo
2 2017-05-05 17:34:21 2017-05-05 17:38:52 bar
> 

И date и тому подобное могут генерировать даты в формате ISO 8601:

$ date "+%Y-%m-%dT%H:%M:%S%z"
2017-05-05T19:20:58+0000
$ TZ=US/Pacific date "+%Y-%m-%dT%H:%M:%S%z"
2017-05-05T12:21:10-0700
$ 
2
29.04.2021, 00:01

Теги

Похожие вопросы