Как преобразовать миллисекундные данные во временные ряды в R - PullRequest
0 голосов
/ 08 июня 2018
timeInMSec height  c1
  1     100.0   1
  5     80.0    1
  6     80.0    0
  9     76.0    1
 12     80.5    0
 14     80.5    1
 16     80.5    0

У меня есть данные, как показано выше, где timeInMsec - время в миллисекундах, и всякий раз, когда происходит изменение, мы записываем количество.Количества - это классы, а также непрерывные значения, поэтому я хотел провести анализ временных рядов по данным такого рода.Так как же преобразовать этот вид нерегулярных данных во временные ряды, используя R?

1 Ответ

0 голосов
/ 08 июня 2018

Вы упомянули, что «всякий раз, когда происходят изменения, мы записываем количество», поэтому вы, вероятно, можете расширить ряд, а затем заполнить значение на основе предыдущих наблюдений.После этого вы можете преобразовать фрейм данных во временные ряды.Если вы ищете более продвинутые методы вменения.Вы можете рассмотреть функции из пакета imputeTS.

library(tidyverse)

dat2 <- dat %>%
  # Complete the sequence
  complete(timeInMSec = full_seq(timeInMSec, period = 1)) %>%
  # Fill the value based on previous record
  fill(-timeInMSec)

# Convert to ts object
dat_ts <- ts(dat2[, -1], start = dat2$timeInMSec[1], end = dat2$timeInMSec[16])

DATA

dat <- read.table(text = "timeInMSec height  c1
  1     100.0   1
                  5     80.0    1
                  6     80.0    0
                  9     76.0    1
                  12     80.5    0
                  14     80.5    1
                  16     80.5    0",
                  header = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...