Построение данных последовательности для системы рекомендаций - замена кросс-табличной матрицы значением переменной

Я пытаюсь построить последовательность данных для системы рекомендаций. Я построил кросс-табличные данные (таблица 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)
Другие вопросы по тегам