Как я могу использовать Amelia для пропущенных значений в переменной numberri c, если в наборе данных есть переменная символов? - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь создать график плотности для цены и использую пакет Amelia для заполнения нулевых значений, но я получаю следующую ошибку.

library(data.table);
library(Amelia);
real <-as.data.table(readRDS("/Users/Ricardo/Desktop/GMBD/2. Statistics for R/Session 12/real_userbase.RData"));

completed_data <- amelia(real, m=2);
final_df <- (completed_data$imputations$imp1 + completed_data$imputations$imp2)/2;
plot(density(completed_data))

Реальный набор данных

 user booking_date origin_airport  price sales channel company user_country
1: user5   2018-11-01            MAD  58.20        online      I2         <NA>
2: user7   2018-11-01            DUB 147.50        online      I2         <NA>
3: user4   2018-11-02            TFS  24.05        online      I2         <NA>
4: user8   2018-10-29            MAD  59.71        online      I2         <NA>
5: user7   2018-11-01            LPA  37.30   call center      I2         <NA>
6: user1   2018-11-01            AMS 149.74 travel agency      I2         <NA>

Код ошибки Amelia: 38 Следующие переменные являются символами: пользователь, origin_airport, канал продаж, компания, user_country Возможно, вы хотели установить это как переменная ID, чтобы удалить ее из модели вменения, или как порядковая или номинальная переменная, которая должна быть вменена. Пожалуйста, установите его или попробуйте еще раз.

Получение этой ошибки. Если я попытаюсь выбрать только цену в наборе данных, он также выдаст мне ошибку, что 'x' должен быть массивом как минимум двух измерений 2.

Спасибо.

...