2017-09-11 3 views
-1

Also im Moment versuche ich herauszufinden, wie man ein Film-Empfehlungssystem von MovieLense (https://grouplens.org/datasets/movielens/100k/) bauen. Ich lese einige Anweisungen aus einem Tutorial.konnte die Funktion "Spread" nicht finden

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 

Erläuterung: V1 Benutzer-ID ist, V2 itemid ist, wird V3 Bewertung

Jetzt brauche ich Format ratingMatrix zu protokollieren, und das Ergebnis wird so aussehen:

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 

Code:

temp = data %>% select(1:3) %>% spread(V2,V3) %>% select(-1) 
temp[1:10,1:10] 

Fehler bei Ausbreitung (, V2, V3.): Konnte nicht Funktion "Spread"

+0

So kann R die Funktion "Spread" nicht finden. Ist es der in 'tidyr'? – Suren

+0

@DiscoSuperfly finden Sie es in Tidyverse – Ching

+2

@Ching 'Tidyverse' ist eine Sammlung von Paketen. Eines der Pakete ist 'tidyr', und' spread' ist von 'tidyr'. Als Ergebnis lädt das 'tidyr'-Paket wahrscheinlich auch Ihre Frage. Tippe '' spread'' und sieh dir die Dokumentation an und du kannst sehen, dass es aus dem 'tidyr' Paket stammt. Nächstes Mal, wenn R bestimmte Funktionen nicht finden kann, wäre es großartig, wenn Sie den Funktionsnamen durchsuchen können, um den Ursprung dieser Funktion zu sehen. – www

Antwort

1

finden Versuchen library(dplyr) mit library(tidyverse) ersetzen. Die spread Funktion lebt jetzt im tidyr Paket, das Teil der tidyverse zusammen mit dplyr ist.

+0

Ja, es funktioniert :) – Ching

Verwandte Themen