The Rolling Stones top 500 Greatest Albums of All Time The 500 Greatest Albums of All Time" is a 2003 special issue of American magazine Rolling Stone, and a related book published in 2005. The lists presented were compiled based on votes from selected rock musicians, critics, and industry figures.
| Variable | Description |
|---|---|
| Number | Identification number |
| Year | The year the album was made |
| Album | The name of the album |
| Artist | The name of the artist |
| Genre | The name of the genre |
| Subgenre | The name of the subgenre |
library(tidyverse)
## ── Attaching packages ────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 3.1.1 ✔ purrr 0.3.2
## ✔ tibble 2.1.1 ✔ dplyr 0.8.0.1
## ✔ tidyr 0.8.3 ✔ stringr 1.4.0
## ✔ readr 1.3.1 ✔ forcats 0.4.0
## ── Conflicts ───────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(forcats)
top500 <- read.csv("https://query.data.world/s/5g255oegex7d4mz42va66l47g2kycv", header=TRUE, stringsAsFactors=FALSE);
top500
This shows the frequency of the year the album was made in.
table(top500$Year)
##
## 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
## 1 2 2 1 4 3 1 2 5 4 14 13 20 21 22
## 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984
## 26 21 24 23 14 18 12 18 16 14 9 6 6 6 10
## 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
## 11 9 12 6 10 5 13 6 6 16 5 4 6 5 6
## 2000 2001 2002 2003 2004 2005 2006 2007 2008 2010 2011
## 7 9 7 4 2 2 3 5 1 1 1
This shows the proportion of each year.
tabl2 <- table(top500$Year)
prop.table(tabl2)
##
## 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966
## 0.002 0.004 0.004 0.002 0.008 0.006 0.002 0.004 0.010 0.008 0.028 0.026
## 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978
## 0.040 0.042 0.044 0.052 0.042 0.048 0.046 0.028 0.036 0.024 0.036 0.032
## 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990
## 0.028 0.018 0.012 0.012 0.012 0.020 0.022 0.018 0.024 0.012 0.020 0.010
## 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002
## 0.026 0.012 0.012 0.032 0.010 0.008 0.012 0.010 0.012 0.014 0.018 0.014
## 2003 2004 2005 2006 2007 2008 2010 2011
## 0.008 0.004 0.004 0.006 0.010 0.002 0.002 0.002
This shows the name of the album.
head(table(top500$Album))
##
## "Love and Theft" (pronounced 'leh-'nerd 'skin-'nerd)
## 1 1
## (What's the Story) Morning Glory? [Led Zeppelin IV]
## 1 1
## #1 Record 12 Songs
## 1 1
This shows a proportion of each album.
tabl3 <- table(top500$Album)
head((prop.table(tabl3)))
##
## "Love and Theft" (pronounced 'leh-'nerd 'skin-'nerd)
## 0.002 0.002
## (What's the Story) Morning Glory? [Led Zeppelin IV]
## 0.002 0.002
## #1 Record 12 Songs
## 0.002 0.002
This shows the frequency of the artist.
head(table(top500$Artist))
##
## A Tribe Called Quest ABBA AC/DC
## 1 1 2
## Aerosmith Al Green Albert King
## 2 3 1
This shows the proportion of each artist.
tabl4 <- table(top500$Artist)
head(prop.table(tabl4))
##
## A Tribe Called Quest ABBA AC/DC
## 0.002 0.002 0.004
## Aerosmith Al Green Albert King
## 0.004 0.006 0.002
This shows the frequency in the genre of the album.
head(table(top500$Genre))
##
## Blues Blues, Folk, World, & Country
## 8 1
## Classical, Stage & Screen Electronic
## 1 7
## Electronic, Funk / Soul Electronic, Funk / Soul, Pop
## 2 1
This shows the proportion of the genre.
tabl5 <- table(top500$Genre)
head(prop.table(tabl5))
##
## Blues Blues, Folk, World, & Country
## 0.016 0.002
## Classical, Stage & Screen Electronic
## 0.002 0.014
## Electronic, Funk / Soul Electronic, Funk / Soul, Pop
## 0.004 0.002
This shows the frequency of the subgenre of the album.
head(table(top500$Subgenre))
##
## Abstract, Art Rock
## 1
## Acid Rock, Psychedelic Rock
## 1
## Acoustic
## 1
## Acoustic, Ballad, Folk
## 1
## Acoustic, Classic Rock, Free Improvisation
## 1
## African
## 1
This shows the proportion of the subgenre.
tabl6 <- table(top500$Subgenre)
head(prop.table(tabl6))
##
## Abstract, Art Rock
## 0.002
## Acid Rock, Psychedelic Rock
## 0.002
## Acoustic
## 0.002
## Acoustic, Ballad, Folk
## 0.002
## Acoustic, Classic Rock, Free Improvisation
## 0.002
## African
## 0.002
Bargraph of the top 15 most feautured artists.
new_artists <- top500 %>%
mutate(Artist = fct_lump(Artist, n = 15)) %>%
filter(!Artist %in% ("Other")) %>%
count(Artist, sort = TRUE) %>%
print(n = Inf)
## # A tibble: 19 x 2
## Artist n
## <fct> <int>
## 1 Bob Dylan 10
## 2 The Beatles 10
## 3 The Rolling Stones 10
## 4 Bruce Springsteen 8
## 5 The Who 7
## 6 David Bowie 5
## 7 Elton John 5
## 8 Led Zeppelin 5
## 9 Radiohead 5
## 10 U2 5
## 11 Various Artists 5
## 12 Pink Floyd 4
## 13 Sly & The Family Stone 4
## 14 Stevie Wonder 4
## 15 Talking Heads 4
## 16 The Byrds 4
## 17 The Police 4
## 18 The Smiths 4
## 19 The Velvet Underground 4
ggplot(new_artists, aes(Artist, n)) +
geom_col() +
coord_flip()
Bargraph of the frequency of the years.
ggplot(top500, aes(Year)) +
geom_bar() +
coord_flip()
Bargraph of top 15 most occuring sungenre.
new_subgenre <- top500 %>%
mutate(Subgenre = fct_lump(Subgenre, n = 15)) %>%
filter(!Subgenre %in% ("Other")) %>%
count(Subgenre, sort = TRUE) %>%
print(n = Inf)
## # A tibble: 20 x 2
## Subgenre n
## <fct> <int>
## 1 None 29
## 2 Pop Rock 22
## 3 Soul 13
## 4 Indie Rock 12
## 5 Alternative Rock 11
## 6 Classic Rock 10
## 7 Blues Rock 8
## 8 Rhythm & Blues, Soul 7
## 9 Country 6
## 10 Psychedelic Rock 6
## 11 Folk Rock, Pop Rock 5
## 12 Hard Rock 5
## 13 New Wave, Pop Rock 5
## 14 Alternative Rock, Indie Rock 4
## 15 Folk Rock, Classic Rock 4
## 16 Folk Rock, Country Rock, Classic Rock 4
## 17 Folk Rock, Psychedelic Rock 4
## 18 Pop Rock, Vocal 4
## 19 Punk 4
## 20 Synth-pop 4
ggplot(new_subgenre, aes(Subgenre, n)) +
geom_col() +
coord_flip()
Bargraph of top 15 most occuring genres.
new_genre <- top500 %>%
mutate(Genre = fct_lump(Genre, n = 15)) %>%
filter(!Genre %in% ("Other")) %>%
count(Genre, sort = TRUE) %>%
print(n = Inf)
## # A tibble: 15 x 2
## Genre n
## <fct> <int>
## 1 Rock 249
## 2 Funk / Soul 38
## 3 Hip Hop 29
## 4 Electronic, Rock 19
## 5 Rock, Pop 18
## 6 Rock, Blues 16
## 7 Folk, World, & Country 13
## 8 Rock, Folk, World, & Country 9
## 9 Blues 8
## 10 Electronic 7
## 11 Jazz 7
## 12 Funk / Soul, Pop 6
## 13 Reggae 6
## 14 Electronic, Pop 5
## 15 Rock, Funk / Soul 5
ggplot(new_genre, aes(Genre, n)) +
geom_col() +
coord_flip()
I did not include a visual for the albums because each album only occured once in the charts.
Seperating into two tables, one with the number, year, and album, and the next with number, artist, genre, and subgenre. Use a inner join to combine tables with key being number, since it is in both tables.
table1 <- top500 %>%
select (Number, Year, Album)
write_csv(table1, "table1.csv")
table1
table2 <- top500 %>%
select (Number, Artist, Genre, Subgenre)
write_csv(table2, "table2.csv")
table2
table1 %>%
inner_join(table2, by = "Number")