Building a recomendation system using simple correlation between custoemer patterns
##Convert int column num to keep it consistent with other num columns
movie_user_frame$`442` <- as.numeric(movie_user_frame$`442`)
##Remove movie title column to ensure correlation works on user ratings
movie_user_frame_users <- movie_user_frame[c(-1)]
##Run correlation to ignore NA valules
movie_user_frame_corr <- cor(movie_user_frame_users, use = "pairwise.complete.obs")
##Extract column with correlations of user X for whom recommendations need to be generated - ex. user 3712
x3712_corr <- as.data.frame(movie_user_frame_corr[,7, drop = FALSE])
colnames(x3712_corr) <- "x3712"
x3712_corr
##Sort correlations for user X in descending order to identify top 5 neighbors
x3712_corr_sort <- x3712_corr[order(-x3712_corr$x3712),,drop = FALSE]
##Clean up source frame by replacing NA with 0
movie_user_frame_clean <- movie_user_frame_users
movie_user_frame_clean[is.na(movie_user_frame_clean)] <- 0
movie_user_frame_clean
##Compute nums
x2824_num = movie_user_frame_clean$`2824` * x3712_corr_sort[2,1]
x3867_num = movie_user_frame_clean$`3867` * x3712_corr_sort[3,1]
x5062_num = movie_user_frame_clean$`5062` * x3712_corr_sort[4,1]
x442_num = movie_user_frame_clean$`442` * x3712_corr_sort[5,1]
x3853_num = movie_user_frame_clean$`3853` * x3712_corr_sort[6,1]
##Combine into num data frame
nn_x3712 <- cbind(x2824_num, x3867_num, x5062_num, x442_num, x3853_num)
nn_x3712
x2824_num x3867_num x5062_num x442_num x3853_num
[1,] 2.083095224 1.6010980170 0.9907730892 0.6813895948 0.0000000000
[2,] 0.000000000 1.6010980170 0.9907730892 0.0000000000 0.0000000000
[3,] 2.314550249 1.8012352691 1.1146197253 0.6813895948 0.6778086064
[4,] 0.000000000 0.0000000000 1.1146197253 0.9085194597 0.0000000000
[5,] 2.083095224 1.6010980170 0.9907730892 0.2271298649 0.0000000000
[6,] 1.851640200 1.2008235128 0.9907730892 1.1356493247 0.9682980092
[7,] 0.000000000 0.0000000000 0.9907730892 0.6813895948 0.9682980092
[8,] 0.000000000 0.0000000000 0.0000000000 0.4542597299 0.7746384073
[9,] 2.314550249 0.0000000000 0.9907730892 0.9085194597 0.8714682083
[10,] 0.000000000 1.8012352691 0.9907730892 1.1356493247 0.7746384073
[11,] 2.314550249 1.6010980170 0.9907730892 0.9085194597 0.5809788055
[12,] 0.000000000 0.0000000000 1.1146197253 1.1356493247 0.0000000000
[13,] 2.314550249 0.0000000000 0.9907730892 0.0000000000 0.0000000000
[14,] 0.000000000 1.6010980170 0.0000000000 0.0000000000 0.0000000000
[15,] 1.851640200 2.0013725213 1.1146197253 1.1356493247 0.9682980092
[16,] 1.851640200 2.0013725213 1.1146197253 1.1356493247 0.9682980092
[17,] 1.851640200 2.0013725213 1.2384663615 1.1356493247 0.7746384073
[18,] 0.000000000 0.0000000000 0.9907730892 0.0000000000 0.0000000000
[19,] 0.000000000 0.0000000000 1.1146197253 0.6813895948 0.7746384073
[20,] 0.000000000 0.0000000000 0.8669264530 0.0000000000 0.0000000000
[21,] 0.000000000 0.0000000000 1.1146197253 0.6813895948 0.8714682083
[22,] 2.314550249 2.0013725213 1.1146197253 0.6813895948 0.9682980092
[23,] 0.000000000 1.6010980170 1.1146197253 0.0000000000 0.6778086064
[24,] 2.083095224 1.4009607649 0.9907730892 1.1356493247 0.6778086064
[25,] 0.000000000 0.0000000000 0.9907730892 0.6813895948 0.0000000000
[26,] 0.000000000 0.0000000000 0.9907730892 0.9085194597 0.8714682083
[27,] 0.000000000 0.0000000000 0.0000000000 0.9085194597 0.4841490046
[28,] 0.000000000 1.2008235128 0.0000000000 0.9085194597 0.9682980092
[29,] 0.000000000 0.0000000000 0.8669264530 0.0000000000 0.0000000000
[30,] 0.000000000 1.0006862606 0.0000000000 0.6813895948 0.0000000000
[31,] 1.851640200 1.6010980170 0.0000000000 0.6813895948 0.7746384073
[32,] 0.000000000 0.0000000000 0.0000000000 0.9085194597 0.7746384073
[33,] 0.000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[34,] 2.314550249 1.2008235128 1.1146197253 0.0000000000 0.7746384073
[35,] 0.000000000 1.4009607649 0.8669264530 0.9085194597 0.5809788055
[36,] 0.000000000 1.4009607649 0.9907730892 0.9085194597 0.3873192037
[37,] 1.851640200 1.2008235128 0.8669264530 1.1356493247 0.9682980092
[38,] 0.000000000 1.0006862606 0.0000000000 0.6813895948 0.0000000000
[39,] 0.000000000 0.0000000000 0.0000000000 0.9085194597 0.8714682083
[40,] 1.851640200 1.2008235128 1.1146197253 0.9085194597 0.6778086064
[41,] 0.000000000 1.4009607649 0.0000000000 0.0000000000 0.0000000000
[42,] 1.620185175 1.8012352691 1.2384663615 0.9085194597 0.0000000000
[43,] 0.000000000 1.6010980170 0.0000000000 0.6813895948 0.0000000000
[44,] 0.000000000 1.6010980170 0.8669264530 0.4542597299 0.0000000000
[45,] 0.000000000 0.0000000000 0.8669264530 0.9085194597 0.0000000000
[46,] 0.000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[47,] 0.000000000 1.4009607649 0.9907730892 0.0000000000 0.0000000000
[48,] 0.000000000 0.8005490085 0.8669264530 0.9085194597 0.0000000000
[49,] 0.000000000 1.2008235128 0.8669264530 0.0000000000 0.0000000000
[50,] 0.000000000 1.2008235128 0.8669264530 0.9085194597 0.3873192037
[51,] 2.314550249 2.0013725213 1.1146197253 1.1356493247 0.8714682083
[52,] 2.314550249 1.0006862606 0.7430798169 1.1356493247 0.2904894028
[53,] 1.388730150 1.6010980170 0.8669264530 0.4542597299 0.8714682083
[54,] 0.000000000 0.0000000000 0.8669264530 0.0000000000 0.9682980092
[55,] 1.388730150 1.6010980170 0.9907730892 0.0000000000 0.0000000000
[56,] 0.000000000 0.0000000000 0.0000000000 1.1356493247 0.0000000000
[57,] 0.000000000 0.0000000000 0.8669264530 0.0000000000 0.0000000000
[58,] 1.851640200 1.6010980170 0.4953865446 0.9085194597 0.0000000000
[59,] 1.388730150 1.8012352691 0.4953865446 0.6813895948 0.0000000000
[60,] 1.388730150 2.0013725213 1.1146197253 1.1356493247 0.7746384073
[61,] 0.000000000 1.6010980170 0.0000000000 0.9085194597 0.5809788055
[62,] 1.851640200 2.0013725213 0.0000000000 0.6813895948 0.6778086064
[63,] 0.000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[64,] 0.000000000 1.0006862606 0.8669264530 0.0000000000 0.2904894028
[65,] 1.851640200 0.0000000000 0.0000000000 0.6813895948 0.7746384073
[66,] 1.388730150 2.0013725213 0.8669264530 0.6813895948 0.7746384073
[67,] 1.851640200 1.4009607649 0.0000000000 0.6813895948 0.0000000000
[68,] 1.157275125 1.2008235128 0.8669264530 0.0000000000 0.0000000000
[69,] 0.000000000 1.4009607649 0.9907730892 0.2271298649 0.6778086064
[70,] 0.000000000 1.4009607649 0.0000000000 0.4542597299 0.5809788055
[71,] 0.000000000 1.2008235128 0.8669264530 0.0000000000 0.0000000000
[72,] 0.000000000 0.0000000000 0.9907730892 0.9085194597 0.3873192037
[73,] 0.000000000 0.0000000000 0.8669264530 0.9085194597 0.4841490046
[74,] 1.620185175 1.2008235128 0.0000000000 0.9085194597 0.0000000000
[75,] 0.000000000 2.0013725213 0.9907730892 0.9085194597 0.0000000000
[76,] 0.000000000 1.4009607649 0.9907730892 0.0000000000 0.0000000000
[77,] 0.000000000 0.8005490085 0.8669264530 0.0000000000 0.0000000000
[78,] 1.851640200 1.8012352691 1.1146197253 0.6813895948 0.0000000000
[79,] 2.083095224 1.6010980170 1.1146197253 0.6813895948 0.0000000000
[80,] 1.851640200 1.4009607649 0.7430798169 0.6813895948 0.0000000000
[81,] 0.000000000 0.0000000000 0.0000000000 0.6813895948 0.8714682083
[82,] 0.000000000 0.0000000000 0.0000000000 0.6813895948 0.0000000000
[83,] 0.000000000 0.0000000000 0.0000000000 1.1356493247 0.5809788055
[84,] 0.000000000 1.4009607649 0.9907730892 1.1356493247 0.0000000000
[85,] 0.000000000 1.6010980170 0.9907730892 1.1356493247 0.0000000000
[86,] 0.000000000 1.0006862606 0.0000000000 0.2271298649 0.0000000000
[87,] 0.000000000 1.2008235128 0.8669264530 0.0000000000 0.0000000000
[88,] 0.000000000 0.0000000000 0.0000000000 0.0000000000 0.3873192037
[89,] 0.000000000 0.0000000000 0.8669264530 0.6813895948 0.0000000000
[90,] 0.000000000 0.0000000000 0.0000000000 0.6813895948 0.0000000000
[91,] 0.000000000 0.4002745043 0.9907730892 0.0000000000 0.0000000000
[92,] 1.620185175 1.6010980170 0.0000000000 0.6813895948 0.0000000000
[93,] 0.000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[94,] 0.000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[95,] 0.000000000 0.0000000000 0.0000000000 0.4542597299 0.0000000000
[96,] 0.000000000 1.2008235128 0.8669264530 0.0000000000 0.0000000000
[97,] 0.000000000 1.6010980170 0.4953865446 0.0000000000 0.0000000000
[98,] 0.000000000 1.6010980170 0.9907730892 0.9085194597 0.5809788055
[99,] 0.000000000 1.4009607649 0.0000000000 0.9085194597 0.0000000000
[100,] 0.000000000 1.2008235128 0.0000000000 0.0000000000 0.0000000000
##Sum rows to form num
sum_num <- rowSums(nn_x3712)
movie_user_frame_clean1 <- movie_user_frame_clean
movie_user_frame_clean1 [movie_user_frame_clean1 > 0] <- 1
movie_user_frame_clean1
movie_user_select <- data.frame(movie_user_frame_clean1$`2824`, movie_user_frame_clean1$`3867`, movie_user_frame_clean1$`5062`, movie_user_frame_clean1$`442`, movie_user_frame_clean1$`3853`)
##Transpose
movie_user_select_t <- t(movie_user_select)
movie_user_select_t
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
movie_user_frame_clean1..2824. 1 0 1 0 1 1 0 0 1 0 1
movie_user_frame_clean1..3867. 1 1 1 0 1 1 0 0 0 1 1
movie_user_frame_clean1..5062. 1 1 1 1 1 1 1 0 1 1 1
movie_user_frame_clean1..442. 1 0 1 1 1 1 1 1 1 1 1
movie_user_frame_clean1..3853. 0 0 1 0 0 1 1 1 1 1 1
[,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21]
movie_user_frame_clean1..2824. 0 1 0 1 1 1 0 0 0 0
movie_user_frame_clean1..3867. 0 0 1 1 1 1 0 0 0 0
movie_user_frame_clean1..5062. 1 1 0 1 1 1 1 1 1 1
movie_user_frame_clean1..442. 1 0 0 1 1 1 0 1 0 1
movie_user_frame_clean1..3853. 0 0 0 1 1 1 0 1 0 1
[,22] [,23] [,24] [,25] [,26] [,27] [,28] [,29] [,30] [,31]
movie_user_frame_clean1..2824. 1 0 1 0 0 0 0 0 0 1
movie_user_frame_clean1..3867. 1 1 1 0 0 0 1 0 1 1
movie_user_frame_clean1..5062. 1 1 1 1 1 0 0 1 0 0
movie_user_frame_clean1..442. 1 0 1 1 1 1 1 0 1 1
movie_user_frame_clean1..3853. 1 1 1 0 1 1 1 0 0 1
[,32] [,33] [,34] [,35] [,36] [,37] [,38] [,39] [,40] [,41]
movie_user_frame_clean1..2824. 0 0 1 0 0 1 0 0 1 0
movie_user_frame_clean1..3867. 0 0 1 1 1 1 1 0 1 1
movie_user_frame_clean1..5062. 0 0 1 1 1 1 0 0 1 0
movie_user_frame_clean1..442. 1 0 0 1 1 1 1 1 1 0
movie_user_frame_clean1..3853. 1 0 1 1 1 1 0 1 1 0
[,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50] [,51]
movie_user_frame_clean1..2824. 1 0 0 0 0 0 0 0 0 1
movie_user_frame_clean1..3867. 1 1 1 0 0 1 1 1 1 1
movie_user_frame_clean1..5062. 1 0 1 1 0 1 1 1 1 1
movie_user_frame_clean1..442. 1 1 1 1 0 0 1 0 1 1
movie_user_frame_clean1..3853. 0 0 0 0 0 0 0 0 1 1
[,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61]
movie_user_frame_clean1..2824. 1 1 0 1 0 0 1 1 1 0
movie_user_frame_clean1..3867. 1 1 0 1 0 0 1 1 1 1
movie_user_frame_clean1..5062. 1 1 1 1 0 1 1 1 1 0
movie_user_frame_clean1..442. 1 1 0 0 1 0 1 1 1 1
movie_user_frame_clean1..3853. 1 1 1 0 0 0 0 0 1 1
[,62] [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71]
movie_user_frame_clean1..2824. 1 0 0 1 1 1 1 0 0 0
movie_user_frame_clean1..3867. 1 0 1 0 1 1 1 1 1 1
movie_user_frame_clean1..5062. 0 0 1 0 1 0 1 1 0 1
movie_user_frame_clean1..442. 1 0 0 1 1 1 0 1 1 0
movie_user_frame_clean1..3853. 1 0 1 1 1 0 0 1 1 0
[,72] [,73] [,74] [,75] [,76] [,77] [,78] [,79] [,80] [,81]
movie_user_frame_clean1..2824. 0 0 1 0 0 0 1 1 1 0
movie_user_frame_clean1..3867. 0 0 1 1 1 1 1 1 1 0
movie_user_frame_clean1..5062. 1 1 0 1 1 1 1 1 1 0
movie_user_frame_clean1..442. 1 1 1 1 0 0 1 1 1 1
movie_user_frame_clean1..3853. 1 1 0 0 0 0 0 0 0 1
[,82] [,83] [,84] [,85] [,86] [,87] [,88] [,89] [,90] [,91]
movie_user_frame_clean1..2824. 0 0 0 0 0 0 0 0 0 0
movie_user_frame_clean1..3867. 0 0 1 1 1 1 0 0 0 1
movie_user_frame_clean1..5062. 0 0 1 1 0 1 0 1 0 1
movie_user_frame_clean1..442. 1 1 1 1 1 0 0 1 1 0
movie_user_frame_clean1..3853. 0 1 0 0 0 0 1 0 0 0
[,92] [,93] [,94] [,95] [,96] [,97] [,98] [,99] [,100]
movie_user_frame_clean1..2824. 1 0 0 0 0 0 0 0 0
movie_user_frame_clean1..3867. 1 0 0 0 1 1 1 1 1
movie_user_frame_clean1..5062. 0 0 0 0 1 1 1 0 0
movie_user_frame_clean1..442. 1 0 0 1 0 0 1 1 0
movie_user_frame_clean1..3853. 0 0 0 0 0 0 1 0 0
x3712_select <- x3712_corr_sort[2:6,]
x3712_select_t <- as.data.frame(x3712_select)
##Create denom frame
dd_num <- x3712_select_t$x3712_select * movie_user_select_t
dd_num
[,1] [,2] [,3] [,4]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.4629100499 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.0000000000
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0.0000000000 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.1936596018 0.0000000000
[,5] [,6] [,7] [,8]
movie_user_frame_clean1..2824. 0.4629100499 0.4629100499 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.0000000000 0.0000000000
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.0000000000
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.1936596018 0.1936596018 0.1936596018
[,9] [,10] [,11] [,12]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.4629100499 0.0000000000
movie_user_frame_clean1..3867. 0.0000000000 0.4002745043 0.4002745043 0.0000000000
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.1936596018 0.1936596018 0.1936596018 0.0000000000
[,13] [,14] [,15] [,16]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.4629100499 0.4629100499
movie_user_frame_clean1..3867. 0.0000000000 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.0000000000 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.0000000000 0.0000000000 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.1936596018 0.1936596018
[,17] [,18] [,19] [,20]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0.0000000000 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.1936596018 0.0000000000 0.1936596018 0.0000000000
[,21] [,22] [,23] [,24]
movie_user_frame_clean1..2824. 0.0000000000 0.4629100499 0.0000000000 0.4629100499
movie_user_frame_clean1..3867. 0.0000000000 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.0000000000 0.2271298649
movie_user_frame_clean1..3853. 0.1936596018 0.1936596018 0.1936596018 0.1936596018
[,25] [,26] [,27] [,28]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.0000000000 0.0000000000 0.0000000000 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.0000000000 0.0000000000
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.1936596018 0.1936596018 0.1936596018
[,29] [,30] [,31] [,32] [,33]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.4629100499 0.0000000000 0
movie_user_frame_clean1..3867. 0.0000000000 0.4002745043 0.4002745043 0.0000000000 0
movie_user_frame_clean1..5062. 0.2476932723 0.0000000000 0.0000000000 0.0000000000 0
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.2271298649 0.2271298649 0
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.1936596018 0.1936596018 0
[,34] [,35] [,36] [,37]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.0000000000 0.4629100499
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.1936596018 0.1936596018 0.1936596018 0.1936596018
[,38] [,39] [,40] [,41]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.4629100499 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.0000000000 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.0000000000 0.0000000000 0.2476932723 0.0000000000
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.0000000000 0.1936596018 0.1936596018 0.0000000000
[,42] [,43] [,44] [,45] [,46]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.0000000000 0.0000000000 0
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.0000000000 0
movie_user_frame_clean1..5062. 0.2476932723 0.0000000000 0.2476932723 0.2476932723 0
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.2271298649 0
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0
[,47] [,48] [,49] [,50]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.0000000000 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.0000000000 0.1936596018
[,51] [,52] [,53] [,54]
movie_user_frame_clean1..2824. 0.4629100499 0.4629100499 0.4629100499 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.0000000000
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.1936596018 0.1936596018 0.1936596018 0.1936596018
[,55] [,56] [,57] [,58]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.0000000000 0.4629100499
movie_user_frame_clean1..3867. 0.4002745043 0.0000000000 0.0000000000 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.0000000000 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.0000000000 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[,59] [,60] [,61] [,62] [,63]
movie_user_frame_clean1..2824. 0.4629100499 0.4629100499 0.0000000000 0.4629100499 0
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.4002745043 0
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.0000000000 0.0000000000 0
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.2271298649 0
movie_user_frame_clean1..3853. 0.0000000000 0.1936596018 0.1936596018 0.1936596018 0
[,64] [,65] [,66] [,67]
movie_user_frame_clean1..2824. 0.0000000000 0.4629100499 0.4629100499 0.4629100499
movie_user_frame_clean1..3867. 0.4002745043 0.0000000000 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.0000000000 0.2476932723 0.0000000000
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.1936596018 0.1936596018 0.1936596018 0.0000000000
[,68] [,69] [,70] [,71]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.0000000000 0.2476932723
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.0000000000 0.1936596018 0.1936596018 0.0000000000
[,72] [,73] [,74] [,75]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.4629100499 0.0000000000
movie_user_frame_clean1..3867. 0.0000000000 0.0000000000 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.0000000000 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.1936596018 0.1936596018 0.0000000000 0.0000000000
[,76] [,77] [,78] [,79]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.4629100499 0.4629100499
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.2476932723 0.2476932723
movie_user_frame_clean1..442. 0.0000000000 0.0000000000 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[,80] [,81] [,82] [,83]
movie_user_frame_clean1..2824. 0.4629100499 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..5062. 0.2476932723 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.2271298649
movie_user_frame_clean1..3853. 0.0000000000 0.1936596018 0.0000000000 0.1936596018
[,84] [,85] [,86] [,87]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.0000000000 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0.2271298649 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[,88] [,89] [,90] [,91]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.0000000000 0.0000000000 0.0000000000 0.4002745043
movie_user_frame_clean1..5062. 0.0000000000 0.2476932723 0.0000000000 0.2476932723
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.1936596018 0.0000000000 0.0000000000 0.0000000000
[,92] [,93] [,94] [,95] [,96]
movie_user_frame_clean1..2824. 0.4629100499 0 0 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0 0 0.0000000000 0.4002745043
movie_user_frame_clean1..5062. 0.0000000000 0 0 0.0000000000 0.2476932723
movie_user_frame_clean1..442. 0.2271298649 0 0 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.0000000000 0 0 0.0000000000 0.0000000000
[,97] [,98] [,99] [,100]
movie_user_frame_clean1..2824. 0.0000000000 0.0000000000 0.0000000000 0.0000000000
movie_user_frame_clean1..3867. 0.4002745043 0.4002745043 0.4002745043 0.4002745043
movie_user_frame_clean1..5062. 0.2476932723 0.2476932723 0.0000000000 0.0000000000
movie_user_frame_clean1..442. 0.0000000000 0.2271298649 0.2271298649 0.0000000000
movie_user_frame_clean1..3853. 0.0000000000 0.1936596018 0.0000000000 0.0000000000
##Sum rows to form denom
sum_denom <- colSums(dd_num)
sum_denom
[1] 1.3380076914 0.6479677765 1.5316672932 0.4748231372 1.3380076914 1.5316672932
[7] 0.6684827391 0.4207894668 1.1313927889 1.0687572433 1.5316672932 0.4748231372
[13] 0.7106033222 0.4002745043 1.5316672932 1.5316672932 1.5316672932 0.2476932723
[19] 0.6684827391 0.2476932723 0.6684827391 1.5316672932 0.8416273784 1.5316672932
[25] 0.4748231372 0.6684827391 0.4207894668 0.8210639710 0.2476932723 0.6274043692
[31] 1.2839740209 0.4207894668 0.0000000000 1.3045374283 1.0687572433 1.0687572433
[37] 1.5316672932 0.6274043692 0.4207894668 1.5316672932 0.4002745043 1.3380076914
[43] 0.6274043692 0.8750976415 0.4748231372 0.0000000000 0.6479677765 0.8750976415
[49] 0.6479677765 1.0687572433 1.5316672932 1.5316672932 1.5316672932 0.4413528741
[55] 1.1108778264 0.2271298649 0.2476932723 1.3380076914 1.3380076914 1.5316672932
[61] 0.8210639710 1.2839740209 0.0000000000 0.8416273784 0.8836995167 1.5316672932
[67] 1.0903144191 1.1108778264 1.0687572433 0.8210639710 0.6479677765 0.6684827391
[73] 0.6684827391 1.0903144191 0.8750976415 0.6479677765 0.6479677765 1.3380076914
[79] 1.3380076914 1.3380076914 0.4207894668 0.2271298649 0.4207894668 0.8750976415
[85] 0.8750976415 0.6274043692 0.6479677765 0.1936596018 0.4748231372 0.2271298649
[91] 0.6479677765 1.0903144191 0.0000000000 0.0000000000 0.2271298649 0.6479677765
[97] 0.6479677765 1.0687572433 0.6274043692 0.4002745043
##Get rating
recom <- as.data.frame(sum_num / sum_denom)
colnames(recom) <- c("Rating")
##Add names of movies to ratings
movie_title <- as.data.frame(movie_user_frame$Title)
colnames(movie_title) <- c("Title")
##Recommendation list
recom_list <- cbind(movie_title, recom)
recom_list_sort <- recom_list[order(-recom_list$Rating),,drop = FALSE]
recom_list_sort