Во сколько формат - это? (не UNIX, не UTC, ничто)

Вот метод с пакетом data.table

library(data.table)
library(stringi)
dt <- as.data.table(DF)
# convert from wide to long
ldt <- melt(dt, id.vars = "ID")
# split out variable from time indication
ldt[, time_id := as.integer(stringi::stri_extract_first_regex(variable, "\\d*$"))]
ldt[, variable2 := stringi::stri_replace_all_regex(variable, "\\d*$", "")]

# functions for E,F,G
getE <- function(var, val, time){
  w <- time[var=="TEST"][which(val[var == "TEST"] == 1)]
  if(length(w) > 0){
    t <- max(1, min(w)-1)
  }else{
    t <- max(time[var=="TEST" & !is.na(val)])
  }
  out <- val[time == t & var == "YEAR"]
  out
}
getFG <- function(var, val, col="TEST"){
  x <- val[var=="YEAR"]
  y <- val[var==col]
  w <- which(y==1)
  if(length(w)==0){
    w <- which(x == max(x[!is.na(y)]))
  }else{
    w <- min(w, na.rm=TRUE)
  }
  out <- x[w]
  out
}

# data.table aggreggation method
out <- ldt[, .(
  B = as.integer(any(value[variable2 == "TEST"] == 1, na.rm=TRUE))
  , C = as.integer(any(value[variable2 == "DROP"] == 1, na.rm=TRUE))
  , D = min(value[variable2 == "YEAR"], na.rm=TRUE)
  , E = getE(variable2, value, time_id)
  , F = getFG(variable2, value, "TEST")
  , G = getFG(variable2, value, "DROP")
), by = .(A=ID)]

# back to data.frame
out <- as.data.frame(out)
out

# test
# is C[3] correct?
out == DF_NEW
.
6
задан Community 23 May 2017 в 10:32
поделиться

9 ответов

Это - число минут с полуночи в пятиминутных интервалах. Ваш диапазон значений должен быть от 0 до 1440

5
ответ дан 8 December 2019 в 13:03
поделиться

интернет-время образца

день разделен на 1 000 равных частей. очень метрический в целом.

7
ответ дан 8 December 2019 в 13:03
поделиться

Я думаю, что Вы были бы лучшими от выяснения у исходных авторов...

С другой стороны, можно ли вставить дату в старую систему и экспортировать ли ее? Если можно сделать это затем, необходимо смочь перепроектировать его очень легко.

2
ответ дан 8 December 2019 в 13:03
поделиться

Я видел некоторые системы, где дата хранится в специальной таблице и в другом месте как идентификатор к нему. Это могло бы быть одним из них

2
ответ дан 8 December 2019 в 13:03
поделиться

Вот решение... спасибо....

hmoya

9:00:00 540 9:15:00 555 9:30:00 570 9:45:00 585 10:00:00 600 10:15:00 615 10:30:00 630 10:45:00 645 11:00:00 660 11:15:00 675 11:30:00 690 11:45:00 705 12:00:00 720 12:15:00 735 12:30:00 750 12:45:00 765 13:00:00 780 13:15:00 795 13:30:00 810 13:45:00 825 14:00:00 840 14:15:00 855 14:30:00 870 14:45:00 885 15:00:00 900 15:15:00 915 15:30:00 930 15:45:00 945 16:00:00 960 16:15:00 975 16:30:00 990 16:45:00 1005 17:00:00 1020 17:15:00 1035 17:30:00 1050 17:45:00 1065 18:00:00 1080 18:15:00 1095 18:30:00 1110 18:45:00 1125 19:00:00 1140

2
ответ дан 8 December 2019 в 13:03
поделиться

Они, как, предполагается, представляют даты или времена? Если даты, то они - вероятно, просто смещение с 'известной' эпохи (как time_t секунды с 1 января 70).

Если у Вас не будет документации для нахождения эпохи, то Вам будет нужен пример для работы ее из.

0
ответ дан 8 December 2019 в 13:03
поделиться

Это представляет время, никакую дату. И разовое кодом то же появляется на другой дате.

0
ответ дан 8 December 2019 в 13:03
поделиться

Нет никакого способа знать наверняка. Я мог быть ударами, но с другой стороны, это не могло бы быть.

0
ответ дан 8 December 2019 в 13:03
поделиться

могла быть юлианская дата...?

0
ответ дан 8 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

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