Стандартными функциями для разделения векторов являются cut
и findInterval
:
v <- as.POSIXct(c(
"2010-01-13 03:02:38 UTC",
"2010-01-13 03:08:14 UTC",
"2010-01-13 03:14:52 UTC",
"2010-01-13 03:20:42 UTC",
"2010-01-13 03:22:19 UTC"
))
# Your function return list:
interv(v, as.POSIXlt("2010-01-13 03:00:00 UTC"), 900)
# [[1]]
# [1] "2010-01-13 03:00:00"
# [[2]]
# [1] "2010-01-13 03:00:00"
# [[3]]
# [1] "2010-01-13 03:00:00"
# [[4]]
# [1] "2010-01-13 03:15:00 CET"
# [[5]]
# [1] "2010-01-13 03:15:00 CET"
# cut returns factor, you must provide proper breaks:
cut(v, as.POSIXlt("2010-01-13 03:00:00 UTC")+0:2*900)
# [1] 2010-01-13 03:00:00 2010-01-13 03:00:00 2010-01-13 03:00:00
# [4] 2010-01-13 03:15:00 2010-01-13 03:15:00
# Levels: 2010-01-13 03:00:00 2010-01-13 03:15:00
# findInterval returns vector of interval id (breaks like in cut)
findInterval(v, as.POSIXlt("2010-01-13 03:00:00 UTC")+0:2*900)
# [1] 1 1 1 2 2
Для записи: cut
имеет метод для типа POSIXt
, но, к сожалению, нет способа укажите аргумент start
, эффект:
cut(v,"15 min")
# [1] 2010-01-13 03:02:00 2010-01-13 03:02:00 2010-01-13 03:02:00
# [4] 2010-01-13 03:17:00 2010-01-13 03:17:00
# Levels: 2010-01-13 03:02:00 2010-01-13 03:17:00
Как вы видите, он стартует в 03:02:00. Вы можете объединиться с метками выходного коэффициента (конвертировать метки во время, округлять и преобразовать обратно в символ).
Не знаю почему, но мне нужно было открыть высокие порты (1024+) на брандмауэре между сервером и контроллерами домена. Должен быть RPC.
Я предполагаю, что проблема не в коде, а скорее в том, что связано с новыми серверами (очевидно).
Я не знаю, что такое ошибка 800704bc, но проверьте и убедитесь, что ADSysInfo действительно создается. Если нет, то, возможно, на сервере отсутствует модуль или что-то в этом роде.
Блокируют ли новые серверы незашифрованные привязки? Если так, то это будет иметь смысл, поскольку вы выполняете привязку как LDAP, а не LDAPS или StartTLS.