构建推荐系统的序列数据 - 用可变值替换交叉表格矩阵

问题描述 投票:-1回答:1

我正在尝试为推荐系统构建序列数据。我已经构建了一个交叉表格数据(表1)和表2,如下所示:

enter image description here

我一直试图用表2中的“等级”替换表1中的所有1。

任何见解/建议都非常感谢。

r sequence crosstab sequences recommender-systems
1个回答
0
投票

而不是用第二个替换第一个,第二个表,并使用dcast直接更改为“wide”

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"

data

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)
© www.soinside.com 2019 - 2024. All rights reserved.