Visualisation avec ggplot2, parallel R

  • mercredi 13 juin de 13h à 14h

Lieu : INSEE MK1 en salle 539,

Programme :

« Visualisation sous R avec ggplot2 » par Roland Rathelot  (CREST)

library(ggplot2)

#Importing datasets
totdb <- read.csv("/Users/roland/Documents/travail/Recherche/Discrimination quartier/bases/R/110602.discquart.csv",header=T,stringsAsFactors=FALSE)

totdb <- within(totdb,{
                p <- 0+(ACTEU6==1)
                ids <- substr(IDAIRE,1,3)
                urbain <- 0+(TUU==1)
                activite <- NULL
                activite[ACTEU6==1] <- "1-emploi"
                activite[ACTEU6 %in% c(3,4)] <- "2-chomage"
                activite[ACTEU6 %in% c(6)] <- "3-inactivite"
                cs <- CSTOTR
                cs[cs %in% c(0,7,8)] <- 8
                dipspe[dipspe=="10aut"] <- "10zaut"
                dipspe[dipspe=="22p"] <- "20p"
                dipspe[dipspe=="22s"] <- "20s"
                dipsimp <- substr(dipp,1,1)
                dropout <- 0+(dipspe %in% c("60","71"))
                group <- NULL
                group[natparfra==1] <- "0Fra"
                group[natparmag==1] <- "1Mag"
                group[natpareus==1] <- "2Eus"
                group[natparafr==1] <- "3Afr"
                group[natparasi==1] <- "4Asi"
                group[natparori==1] <- "5Ori"
                group2 <- NULL
                group2[natparfra==1] <- "0Fra"
                group2[natpar2mag==1] <- "1Mag"
                group2[natpar2eus==1] <- "2Eus"
                group2[natpar2afr==1] <- "3Afr"
                twoimmpar <- 0*p
                twoimmpar[group2 %in% c("1Mag","2Eus","3Afr")] <- 1
                group1 <- NULL
                group1[natparfra==1] <- "0Fra"
                group1[(natparmag==1)&(twoimmpar==0)] <- "1Mag"
                group1[(natpareus==1)&(twoimmpar==0)] <- "2Eus"
                group1[(natparafr==1)&(twoimmpar==0)] <- "3Afr"
                sexe <- NULL
                sexe[femme==0] <- "Hommes"
                sexe[femme==1] <- "Femmes"
                ag2 <- (AG/10)^2
                csmere <- factor(csmere)
                cspere <- factor(cspere)
                SALRED[SALRED==0] <- NA
                idi <- paste(IDENT,NOI,sep='')
                antrim <- paste(ANNEE,TRIM,sep='-')
                antrimz <- zoo::as.yearqtr(antrim)
                })


str(totdb)


# Statistiques univariées

## histogramme

hist(totdb$SALRED)

qplot(SALRED, data=totdb, stat="bin") 

m <- ggplot(totdb, aes(SALRED)) 
m + stat_bin()

m + stat_bin(binwidth=200)

m + stat_bin(breaks=seq(0,10000,100))

## densité

plot(density(totdb$SALRED))

plot(density(totdb$SALRED,na.rm=TRUE))

m <- ggplot(totdb, aes(SALRED)) 
m + geom_density()

m + geom_density() + xlim(c(0,10000))

m +  geom_density(kernel="epanechnikov",adjust=1/2) + xlim(c(0,10000))  

m +  geom_density() + facet_grid(sexe ~ .) + xlim(c(0,10000))  

##m <- ggplot(totdb, aes(SALRED)) + xlim(c(0,10000))  
##m +  geom_density(aes(fill=factor(sexe)))

m <- ggplot(totdb, aes(SALRED,..density.., color=sexe, group=sexe)) + xlim(c(0,10000))  
m +  geom_density(fill=NA)

ggplot(totdb, aes(x=SALRED, y=..density.., fill=sexe)) + stat_density(position="identity", color="black",alpha=.5)+ xlim(c(0,10000))  

## variable qualitative

qq <- ggplot(totdb,aes(activite))
qq + stat_bin()

qq <- ggplot(totdb,aes(activite,fill=sexe))
qq + stat_bin()

qq + stat_bin(position="dodge")

qq <- ggplot(totdb,aes(sexe,fill=activite))
qq + stat_bin()

qq + stat_bin(position="fill")



# Statistiques bivariees

## Scatterpoint

plot(totdb$AG,totdb$SALRED)

qplot(AG, SALRED, data=totdb, main="Salaires par age",asp=1)

p <- ggplot(totdb, aes(AG, SALRED))
p + geom_point()

p + geom_point(shape='.')

p + geom_point(alpha=.1)

p + geom_point(position="jitter",shape='.')

p + geom_point(position="jitter",alpha=.1)

p + geom_point(position="jitter",alpha=.02) + ylim(c(0,10000))

pp <- p + geom_jitter(position=position_jitter(h=0),alpha=.01) + ylim(c(0,10000))

pp + opts(title = "Salaire par age",aspect.ratio=1)+ xlab("Age")+ylab("Salaire mensuel net") + facet_grid(. ~ sexe)


## Regression

p + geom_smooth()

p + geom_smooth() + facet_grid(. ~ sexe)

## Transformation fonctionnelle

qplot(AG, log(SALRED), data=totdb)

ggplot(totdb, aes(AG, log(SALRED))) +  geom_point() 


# Series temp
library(zoo)

ggplot(totdb, aes(x=antrimz, y=SALRED)) + geom_point()

ggplot(totdb, aes(x=antrim, y=SALRED)) + stat_smooth()

« Gagnez de temps en parallélisant vos calculs sous R » par Maxime To (CREST)

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s