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")