Mam tabelę zawierającą dane filmów, aw ostatniej kolumnie są to kategorie, do których należy film.R- Konwertuj kolumnę list na różne kolumny, używając ich wartości jako nazwy (atrapa).
movieId title category
1 Toy Story (1995) Animation|Children|Comedy
2 Jumanji (1995) Adventure|Children|Fantasy
3 Grumpier Old Men (1995) Comedy|Romance
4 Waiting to Exhale (1995) Comedy|Drama
5 Father of the Bride Part II (1995) Comedy
6 Heat (1995) Action|Crime|Thriller
Chcę utworzyć jedną kolumnę dla każdej kategorii i umieścić 1, jeśli została zapisana na liście dla tego filmu i zero, jeśli nie. Coś jak:
movieId title animation comedy drama
1 xx 1 0 1
2 xy 1 0 0
3 yy 1 1 0
tej pory mam tylko przekształcone ciąg do listy z:
f<-function(x) {strsplit(x, split='|', fixed=TRUE)}
movies2$m<-lapply(movies2$category, f)
Ale nie wiem, jak to zrobić resztę.
Myślałem o słownikach Python. Ale nie wiem jak to zrobić w R.
danych
df1 <- read.table(header = TRUE, stringsAsFactors = FALSE,
text = " movieId title category
1 'Toy Story (1995)' Animation|Children|Comedy
2 'Jumanji (1995)' Adventure|Children|Fantasy
3 'Grumpier Old Men (1995)' Comedy|Romance
4 'Waiting to Exhale (1995)' Comedy|Drama
5 'Father of the Bride Part II (1995)' Comedy
6 'Heat (1995)' Action|Crime|Thriller")