【发布时间】:2017-09-11 03:04:18
【问题描述】:
所以目前我正试图弄清楚如何从 MovieLense (https://grouplens.org/datasets/movielens/100k/) 构建电影推荐系统。我从教程中阅读了一些说明。
library(dplyr)
library(recommenderlab)
library(magrittr)
data <- read.table("u.data", header = F, stringsAsFactors = T)
head(data)
V1 V2 V3 V4
1 196 242 3 881250949
2 186 302 3 891717742
3 22 377 1 878887116
4 244 51 2 880606923
5 166 346 1 886397596
6 298 474 4 884182806
说明:V1 是用户 ID,V2 是项目 ID,V3 是评级
现在我需要将格式记录到 ratingMatrix,结果会是这样的:
1 2 3 4 5 6 7 8 9 10
1 5 3 4 3 3 5 4 1 5 3
2 4 NA NA NA NA NA NA NA NA 2
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 4 3 NA NA NA NA NA NA NA NA
6 4 NA NA NA NA NA 2 4 4 NA
7 NA NA NA 5 NA NA 5 5 5 4
8 NA NA NA NA NA NA 3 NA NA NA
9 NA NA NA NA NA 5 4 NA NA NA
10 4 NA NA 4 NA NA 4 NA 4 NA
代码:
temp = data %>% select(1:3) %>% spread(V2,V3) %>% select(-1)
temp[1:10,1:10]
spread(., V2, V3) 中的错误:找不到函数“spread”
【问题讨论】:
-
所以,R 找不到函数
spread。是tidyr中的那个吗? -
@DiscoSuperfly 在 tidyverse 中找到它
-
@Ching
tidyverse是一个包的集合。其中一个包是tidyr,spread来自tidyr。因此,加载tidyr包也可能会解决您的问题。键入?spread并查看文档,您可以看到它来自tidyr包。下次如果 R 找不到某些函数,如果你能 google 函数名看看这个函数的出处就好了。