Я пытался преобразовать фрейм данных в realRatingMatrix. Но для этого я сначала конвертирую фрейм данных в матрицу, а матрицу в realRatingMatrix. Фрейм данных df содержит 475984 rows
и 3 columns
. Column1
- это productID
, column2
- это customer names
, а column3
содержит rating of the product
, заданный соответствующим пользователем. Выполненные шаги:
1. Удаление отсутствующих значений
2. Дедупликация данных
3. Преобразование фрейма данных в матрицу 4. Тестирование матрицы
library(recommenderlab)
sapply(df, function(x) sum(is.na(x)))
# 100 missing values in column2
df <- df[-which(is.na(df$col2) == TRUE), ]
sum(duplicated(df))
# 580 duplicates
df <- df[-which(duplicated(df) == TRUE), ]
# Converting the dataframe into realratingMatrix
df_matrix <- data.matrix(df)
# Testing matrix
str(df_matrix)
df1 <- as.data.frame(df_matrix)
При преобразовании фрейма данных в матрицу я получаю следующее предупреждающее сообщение:
Предупреждающее сообщение: в data.matrix (beer_data): НП введены путем принуждения Теперь, когда я конвертирую созданную матрицу в фрейм данных в моем столбце с именами клиентов (column2) всего 38 записей, остальные - НП.
Может кто-нибудь предложить способ исправить мой код и получить желаемый результат.