【问题标题】:could not find function "spread" [closed]找不到功能“传播”[关闭]
【发布时间】: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 是一个包的集合。其中一个包是tidyrspread 来自tidyr。因此,加载 tidyr 包也可能会解决您的问题。键入?spread 并查看文档,您可以看到它来自tidyr 包。下次如果 R 找不到某些函数,如果你能 google 函数名看看这个函数的出处就好了。

标签: r dplyr tidyr spread


【解决方案1】:

尝试将library(dplyr) 替换为library(tidyverse)spread 函数现在位于 tidyr 包中,该包是 tidyversedplyr 的一部分。

【讨论】:

  • 是的,它有效:)
猜你喜欢
  • 1970-01-01
  • 2013-12-12
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 2021-08-03
  • 1970-01-01
相关资源
最近更新 更多