Как рассчитать и добавить миллисекунды для дублирования меток времени POSIXct? - PullRequest
0 голосов
/ 18 января 2019

У меня есть набор данных с дублированными временными метками POSIXct, которые я пытаюсь добавить в миллисекундах.

Я попытался сгруппировать по метке времени в dplyr и использовать счетчик для каждой группы для вычисления миллисекунд как 1 / group_count и добавления к метке времени. Однако я не могу получить значение из имени строки, переданного в функцию, которую он просто пытается добавить в миллисекундах к символу имени столбца.

calculate_milliseconds <- function(dataset, target_var, new_col_name,...)
{
  target_var <- enquo(target_var) 
  new_col_name <- quo_name(new_col_name)
  dataset$timestamp_count <- subgroup_count(dataset, ...)
  dataset %>%
    group_by_(...) %>%
    mutate(!! new_col_name := if_else(timestamp_count > 1 , !! target_var + 1/timestamp_count,!!  target_var)) %>%
    ungroup() %>%
    select(!! new_col_name)
}

То есть для столбца с повторяющимися отметками времени, подобного этому.

2015-10-22 13:30:17,
2015-10-22 13:30:17,
2015-10-22 13:30:17,
2015-10-22 13:30:17,
2015-10-22 13:30:17

Я пытаюсь получить:

2015-10-22 13:30:17.00,
2015-10-22 13:30:17.20,
2015-10-22 13:30:17.40,
2015-10-22 13:30:17.60,
2015-10-22 13:30:17.80
...