Построение данных последовательности для системы рекомендаций - замена кросс-табличной матрицы значением переменной
Я пытаюсь построить последовательность данных для системы рекомендаций. Я построил кросс-табличные данные (таблица 1) и таблицу 2, как показано ниже:
введите описание изображения здесь
Я пытался заменить все 1 в таблице 1 на "Оценка" из таблицы 2 в R.
Любое понимание / предложение очень ценится.
1 ответ
Вместо того, чтобы заменить первую на вторую, вторая таблица и прямо поменялась на 'широкая' с dcast
library(reshape2)
res <- dcast(df2, St.No. ~ Courses, value.var = 'Grade')[names(df1)]
res
# St.No. Math Phys Chem CS
#1 1 A B
#2 2 B B
#3 3 A A C
#4 4 B B D
Если нам нужно заменить пробелы с 0
res[res =='"] <- "0"
данные
df1 <- data.frame(St.No. = 1:4, Math = c(0, 0, 1, 1), Phys = c(1, 1, 0, 1),
Chem = c(0, 1, 1, 0), CS = c(1, 0, 1, 1))
df2 <- data.frame(St.No. = rep(1:4, each = 4), Courses = rep(c("Math",
"Phys", "Chem", "CS"), 4),
Grade = c("", "A", "", "B", "", "B", "B", "",
"A", "", "A", "C", "B", "B", "", "D"),
stringsAsFactors = FALSE)