Toujours pareil
A chaque annonce du programme du Paléo, les gens se plaignent que la programmation est toujours la même, année après année. Je ne suis pas fan du Paléo, mais encore moins des gens qui se plaignent tout le temps. Alors, est-ce vrai? Le Paléo manque-t-il d’originalité?
Pour répondre simplement: non. En tout cas pas dans les chiffres. Peut-être que parmi les artistes qui sont revenus plusieurs années, il y avait proportionnellement beaucoup de têtes à claques d’affiche, ce qui peut donner plus facilement une impression de déjà-vu. Ou peut-être que lorsque les artistes reviennent, peu d’années se sont écoulées depuis leur dernier Paléo.
Combien d’artistes différents sont venus au Paléo entre 1976 et 2013?
2’383.
Paléo en compte 2’853. Soit il y a un bug dans mon code, soit Paléo compte les doublons, soit Paléo ne liste pas tous les artistes sur leur site, soit Paléo a déjà comptabilisé 2014.
Parmi ces 2’383 artistes, combien ne sont venus qu’une seule fois?
2’025, soit 85%
Quels sont les artistes qui sont revenus le plus souvent?
J’ai omis ceux qui ont eu 2 occurences parce que la liste des 358 revenants est (visuellement) assez longue. Libre à toi de jouer avec mon code pour voir la liste complète.
Artiste | Nbre de Paléos | Années |
---|---|---|
Bernard Lavilliers | 6 | 1981 1985 1989 1992 2002 2005 |
Jacques Higelin | 6 | 1984 1989 1992 1995 1999 2004 |
Stephan Eicher | 6 | 1988 1994 1999 2000 2004 2012 |
-M- | 5 | 1998 2000 2004 2010 2013 |
Dionysos | 5 | 2002 2004 2006 2008 2012 |
IAM | 5 | 1994 1997 1998 2004 2008 |
Le Quatuor | 5 | 1983 1988 1992 1995 2000 |
Noir Désir | 5 | 1989 1993 1997 2000 2002 |
Renaud | 5 | 1983 1996 2000 2003 2007 |
Airvag | 4 | 1995 1996 1997 2000 |
Alain Bashung | 4 | 1990 1995 2004 2008 |
Ben Harper | 4 | 1994 1996 1999 2001 |
Bénabar | 4 | 2002 2003 2009 2012 |
Cali | 4 | 2004 2006 2008 2011 |
Claude Nougaro | 4 | 1985 1990 1998 2001 |
Eddy Mitchell | 4 | 1991 1994 1997 2011 |
Hubert-Félix Thiéfaine | 4 | 1986 1989 1995 2012 |
I Muvrini | 4 | 1995 1999 2000 2003 |
Indochine | 4 | 1986 2002 2006 2010 |
Jean-Louis Aubert | 4 | 1993 1998 2003 2011 |
Jimmy Cliff | 4 | 1983 1993 1996 2003 |
Joe Cocker | 4 | 1989 1991 1995 1998 |
MC Solaar | 4 | 1992 1995 1998 2002 |
Miossec | 4 | 1996 2000 2002 2004 |
Patrick Chambaz | 4 | 1984 1986 1988 1991 |
Placebo | 4 | 1997 2001 2006 2009 |
Polar | 4 | 1996 1999 2002 2006 |
Rachid Taha | 4 | 1996 2001 2005 2007 |
Saez | 4 | 2000 2002 2010 2013 |
Sens Unik | 4 | 1993 1995 1996 2010 |
The Nits | 4 | 1986 1987 1991 2004 |
The Young Gods | 4 | 1990 2001 2007 2009 |
Tryo | 4 | 1999 2003 2007 2013 |
Alain Souchon | 3 | 1979 1995 2010 |
Aloan | 3 | 2005 2007 2010 |
Arno | 3 | 1994 2002 2007 |
Cap Indigo | 3 | 2010 2011 2012 |
Cesaria Evora | 3 | 1995 1999 2002 |
Charlélie Couture | 3 | 1984 1988 1993 |
Cie 2 rien merci | 3 | 2000 2001 2003 |
Diam’s | 3 | 2004 2006 2010 |
Dominique A | 3 | 1996 1999 2012 |
Franz Ferdinand | 3 | 2005 2009 2012 |
Geoffrey Oryema | 3 | 1991 1996 2001 |
Georges Moustaki | 3 | 1979 1990 2004 |
Grand Corps Malade | 3 | 2006 2007 2008 |
Henri Dès | 3 | 1983 1990 1994 |
Jamiroquai | 3 | 1997 2005 2010 |
Jérémie Kisling | 3 | 2003 2004 2010 |
Joan Baez | 3 | 1982 1988 1994 |
John Hammond | 3 | 1986 1993 2001 |
Johnny Clegg & Savuka | 3 | 1990 1994 1997 |
José Barrense-Dias | 3 | 1978 1986 2008 |
Keziah Jones | 3 | 1992 1994 1999 |
La Bottine Souriante | 3 | 1979 1985 1997 |
Laurent Voulzy | 3 | 1979 2003 2007 |
Le Peuple de l’Herbe | 3 | 2001 2003 2010 |
Les Indécis | 3 | 1997 1998 2000 |
Louise Attaque | 3 | 1998 2000 2006 |
Mama Rosin | 3 | 2009 2011 2013 |
Mass Hysteria | 3 | 1997 2000 2013 |
Maurane | 3 | 1985 1987 1997 |
Michel Bühler | 3 | 1980 1983 1991 |
Michel Jonasz | 3 | 1985 1993 1997 |
Mickey 3D | 3 | 2000 2001 2003 |
Moonraisers | 3 | 2002 2004 2008 |
Muse | 3 | 2000 2004 2007 |
Natacha Atlas | 3 | 1998 2007 2012 |
Noa | 3 | 1996 1997 2000 |
Nouvelle Planète (partenaire) | 3 | 2010 2011 2013 |
Olivia Ruiz | 3 | 2004 2006 2010 |
Pascal Obispo | 3 | 1997 2001 2004 |
Pascal Rinaldi | 3 | 1986 1993 1998 |
Patrick Bruel | 3 | 2000 2003 2013 |
Raphael | 3 | 2006 2009 2013 |
Ray Lema | 3 | 1985 1989 2001 |
Rude Music Selection | 3 | 2002 2004 2007 |
Sarclo | 3 | 1990 1991 1999 |
Sarclon | 3 | 1976 1978 1983 |
Shantel & Bucovina Club Orkestar | 3 | 2006 2010 2013 |
Sinclair | 3 | 1994 1995 1998 |
Ska-P | 3 | 2000 2003 2009 |
Solange La Frange | 3 | 2007 2008 2010 |
Stevans | 3 | 2004 2006 2010 |
Stress | 3 | 2003 2005 2007 |
Texas | 3 | 1997 2001 2004 |
The Cure | 3 | 1985 2002 2012 |
The Flying Pickets | 3 | 1985 1991 1994 |
Tiken Jah Fakoly | 3 | 2001 2005 2008 |
William Fierro | 3 | 1981 1983 1991 |
Zazie | 3 | 1999 2003 2007 |
Zebda | 3 | 1996 1999 2000 |
Zucchero | 3 | 1988 2002 2007 |
Précisions
Pour cet article, je voulais essayer R. Au final, mon choix était stupide puisque je n’ai absolument pas tiré profit des fonctions de statistiques du language. J’aurais en fait tout aussi bien pu utiliser Python par exemple.
J’ai fait l’hypothèse que les listes des artistes du site du Paléo sont correctes. Qu’elles ne contiennent par exemple pas de doublons dus à des fautes de frappe de l’auteur des pages. Il serait possible de vérifier ceci avec des fonctions comme adist qui calcule la distance de Levenshtein entre deux chaînes de caractères (mots).
Le code utilisé pour cet article est listé ci-dessous. Encore une fois, c’est ma première utilisation de R, j’avoue que je n’ai lu aucune documentation, juste fait des recherches Google. C’est mon côté script-kid ma foi.
library(XML)
library(selectr) # use CSS selectors, cf. querySelectorAll below
library(stringr)
#
# COLLECT THE DATA
#
artistsByYear <- list() # list of list. Every year has a list of artists
for(i in 1976:2013) {
# read the HTML page
page <- htmlParse(paste("http://yeah.paleo.ch/fr/edition/", i, sep = ""))
# extract the list of artists
artists <- querySelectorAll(page, "div.edition-artists-content")
# strip the HTML tags
artists <- xmlSApply(artists, xmlValue)
# remove whitespace
artists <- str_trim(artists[1])
# make a list
artists <- strsplit(artists, split = ", ")
# add to the overall list
artistsByYear <- c(artistsByYear, artists)
}
# flatten the list of lists
artists <- unlist(artistsByYear)
#
# DATA "ANALYSIS"
#
#
# HOW MANY ARTISTS HAVE COME TO PALEO?
#
nbArtists <- length(unique(artists))
print("How many artists have come to Paléo?")
print(nbArtists)
#
# HOW MANY ARTISTS HAVE COME ONLY ONCE?
#
# all artists that came several times
returningArtists <- unique(artists[duplicated(artists)])
result <- nbArtists - length(returningArtists)
print("How many artists have come only once?")
print(paste(result, " (", ceiling(result*100/nbArtists), "%)", sep = ""))
#
# WHO CAME MOST FREQUENTLY?
#
# create a data frame
dataFrame <- as.data.frame(table(artists))
# filter out only those who happend more than once
filtered <- dataFrame[dataFrame$Freq > 1,]
# sorting, most frequent first
result <- filtered[with(filtered, order(-Freq)),]
print("Who came most frequently?")
print(result)
#
# WHICH YEARS DID RETURNING ARTISTS PERFORM?
#
# for every artist, find which year he was performing
result <- sapply(returningArtists, function(artistName1) {sapply(which(sapply(artistsByYear, function(artistName2) which(artistName1 == artistName2)) > 0), function(index) 1975 + index)})
print("Which years did returning artists perform?")
print(result)