Заполните NA форматом POSIXct с помощью функции missForest () - PullRequest
0 голосов
/ 24 февраля 2019

Я заполняю NA пакетом missForest() в R. В моем подмножестве, где нет формата даты POSIXct, это работает хорошо, но когда я пытаюсь в моем примере, где у меня есть формат POSIXct, произошла ошибка Error in sample.int(length(x), size, replace, prob) : invalid first argument.... но оба образца очень похожи, просто POSIXct с NA внутри для второго.

Я делаю тест, просто добавив столбец к первому подвыборке с сегодняшней датой и добавив в него 3 NA.Пакет не работает.

Есть ли у вас какие-либо идеи исправить это, или любой другой пакет может существовать с учетом формата даты?

Вы можете взять следующий пример, чтобы понять, что я имею в виду:

df <- data.frame(
  Date = Sys.Date(),
  LOT = rnorm(5), 
  S12_A = c(7,7,7,7,7),  
  S123_AA = c(1,1,NA,1,1), 
  S135_AA = rnorm(5), 
  S1763_BB = rnorm(5), 
  S173_BB = rnorm(5)
)

df$Date[4] <- NA

library(missForest)

missForest(df)

1 Ответ

0 голосов
/ 14 марта 2019

Я получаю ошибку Error in sample.int(length(x), size, replace, prob) : invalid first argument.Если я исключаю первый столбец, вменение проходит с предупреждением.Вы уверены, что хотите вменять даты?

Что вы можете сделать, это привести даты в числовую переменную, вменять и преобразовать обратно.

out <- missForest(df[, -1])
out$ximp$Date_numeric <- as.Date(out$ximp$Date_numeric, origin = "1970-01-01")
out$ximp

         LOT S12_A S123_AA     S135_AA  S1763_BB      S173_BB Date_numeric
1  0.9056106     7       1 -0.90207400 0.8070748 -1.080159330   2019-03-14
2  0.4843268     7       1  0.54376134 0.1376736  0.453839813   2019-03-14
3 -0.5628681     7       1  0.05709977 0.6064287  0.827101136   2019-03-14
4 -0.1781705     7       1  0.18665039 1.5048530 -0.009170842   2019-03-14
5  0.8294332     7       1  0.40884799 1.6707076 -0.350740495   2019-03-14
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...