1. Grâce à ce formulaire vous pouvez proposer une astuce ou un script sur R.
  2. Votre script doit pouvoir être lancé en l'état. Veuillez penser à :
    • inclure le chargement des "library" nécessaires
    • construire un petit jeu de données si besoin est.
    • commenter les lignes de codes pour en faciliter la compréhension.
  3. Le titre de votre script ou astuce doit être clair et explicite.
  4. Pensez à mettre votre code entre les balises [R] et [/R]; Pour cela, vous pouvez utiliser le bouton

Vous pouvez utiliser vos comptes Facebook, twitter ou google pour vous identifer (google est compatible yahoo, openID...)
L'ideal étant de vous connecter si vous avez un compte utilisateur, ou faire une demande de compte utilisateur si vous n'en avez pas encore.
Créer un compte va vous permettre de pouvoir éditer vos codes et de mettre en avant votre site internet.
Sinon vous pouvez soumettre anonymement en remplissant les champs ci-après.







Choisissez les catégories correspondantes à votre Code:

  • algorithmique
  • Analyse de survie
  • base indispensable
  • bayésien
  • configuration de R
  • exportation de données
  • fonctions utiles
  • graphique
  • importation de données
  • inférence
  • manipulation de données
  • message d'erreur
  • modélisation
  • Non classé
  • optimisation
  • planification
  • programmer avec R
  • regression linéaire
  • sig - cartographie
  • Test
  • tidyverse
  • Transformation de données


fonctions utiles

Le pipe, qu’est-ce que c’est ?

0
dans fonctions utiles, tidyverse
- ça ne sert à rien -- c\'est interessant - (score de +1 sur 1 votes)
Loading...
Issu du package magrittr et disponible dans le tidyverse, le pipe vous permet de passer de :
library(tidyverse)
data("population")
head(summarise(group_by(filter(population, year > 1999),country),moyenne = mean(population)))
à
population %>% 
    filter(year > 1999) %>%
    group_by(country) %>%
    summarise(moyenne = mean(population)) %>%
    head()

Plus clair, n’est-ce pas !

Alors, comment ça marche ? C’est très simple : l’élément à gauche de %>% se retrouve en premier argument de la fonction à droite. Autrement dit, f(x,y) s’écrit x %>% f(y). Comment faire si l’élément de gauche n’est pas le premier argument de celui de droite ? Vous pouvez y faire référence en le remplaçant par un point :

list(c(1,2,3), c(4,5,6), c(8,9,10)) %>%
    lapply(FUN = mean, .)
Pas encore de commentaire, cliquez ici pour réagir.

Comment charger les packages du tidyverse ?

0
dans fonctions utiles, tidyverse
- ça ne sert à rien -- c\'est interessant - (pas encore de vote)
Loading...

Le tidyverse fait référence à l’ensemble des packages qui partagent la philosophie « tidy », et qui ont été pensés pour fonctionner les uns avec les autres.

Pour installer la version stable depuis le CRAN :

install.packages("tidyverse")

Quant à la version en développement, vous pouvez l’installer avec : 

devtools::install_github("hadley/tidyverse")

Ensuite, vous pouvez charger les différents packages, en utilisant la méthode classique :

library("tidyverse")

Pour la petite histoire, le tidyverse s’appelait autrefois le hadleyverse ! Plus d’infos : Bienvenue dans le tidyverse (http://www.thinkr.fr/tidyverse-hadleyverse/).  

Pas encore de commentaire, cliquez ici pour réagir.

Comment installer un package R depuis Github ? : install_github()

0
dans fonctions utiles
- ça ne sert à rien -- c\'est interessant - (pas encore de vote)
Loading...

Vous avez trouvé un package qui vous plait sur Github ? Pour l’installer sur votre machine, vous aurez besoin du package devtools.

install.packages("devtools")

Ensuite, direction install_github(). Cette fonction prend un argument principale : entre guillemets, « username/repo ».

library("devtools")
install_github("ThinkRstat/prenoms")

Vous pouvez également utiliser : 

devtools::install_github("ThinkRstat/prenoms")

C’est d’ailleurs ce raccourci que vous trouverez dans la plupart des README sur GitHub !

Pas encore de commentaire, cliquez ici pour réagir.

Comment importer un fichier RDS via http

0
dans fonctions utiles
- ça ne sert à rien -- c\'est interessant - (score de +1 sur 1 votes)
Loading...
Pour importer un fichier RDS via une url sur un serveur distant, voici une procédure qui focntionne bien :
readRDS(gzcon(url("http://ton_url/Data/fichier.rds")))
Pas encore de commentaire, cliquez ici pour réagir.

Initialiser un dataframe vide avec des noms de colonne

0
dans fonctions utiles
- ça ne sert à rien -- c\'est interessant - (score de +3 sur 3 votes)
Loading...
Parfois il peut etre utilise de fabriquer un data.frame vide, sans aucune ligne, mais avec des colonnes définies. Voici une facon de procéder.

 
 
BDD <- as.data.frame(setNames(replicate(5,numeric(0), simplify = F),c("moy","p","val","r2","err") ))
 
Pas encore de commentaire, cliquez ici pour réagir.

Comment fabriquer une formule à partir d’une chaine de caractères? : as.formula()

0
dans fonctions utiles
- ça ne sert à rien -- c\'est interessant - (score de +2 sur 2 votes)
Loading...
la fonction as.formula permet de fabriquer une formule à partir d ‘une chaine de caractères
data(iris)
chaine<-paste0(names(iris)[1],
" ~ ",paste(names(iris)[-1],collapse=" + "))
as.formula(chaine)
lm(as.formula(chaine),data=iris)
 
Pas encore de commentaire, cliquez ici pour réagir.

Comment tracer la courbe d’une fonction connue dans un intervalle donné ? curve()

0
dans fonctions utiles, graphique
- ça ne sert à rien -- c\'est interessant - (score de +3 sur 3 votes)
Loading...
R peut tracer la courbe d’une fonction f(x) pour peu qu’on connaisse sa formule et qu’on lui fixe des bornes.
 curve(expr=1/(sqrt(2*pi)*0.3)*exp(-((x-0)^2/(2*0.3^2))), from=-1.5, to= 1.5)
La fonction curve() prend (entre autres) comme argument expr (l’expression de la fonction, ici la densité de probabilité de la loi normale), from (la borne inférieure de l’intervalle à tracer) et to (la borne supérieure de l’intervalle à tracer) Par défaut curve() utilise un paramètre n fixé à 101 : c’est le nombre de x compris entre from et to qui seront évalués par l’expression renseignée dans expr. Plus n est petit, plus la courbe sera « anguleuse »

Proposé par Diane.

Pas encore de commentaire, cliquez ici pour réagir.

Comment faire une Analyse en Composantes Principale (ACP) sur R ? PCA, plot.PCA

0
dans fonctions utiles, manipulation de données
- ça ne sert à rien -- c\'est interessant - (score de +2 sur 6 votes)
Loading...

La fonction PCA() permet d’effectuer une ACP.

 
library(FactoMineR)
res_pca <- PCA (iris, quali.sup=5)
#On réalise une ACP sur les 4 variables quantitatives du jeu de données iris
#La 5<sup>ème</sup> variable qui correspond au nom de la variété est qualitative
#Nous plaçons cette variable en supplémentaire,
#cette variable ne participera donc pas à la construction de l’ACP,
#mais elle apportera de l’information supplémentaire
 
plot.PCA(res_pca,col.quali="blue", label="quali")
#La fonction plot.PCA contient de nombreux paramètres modulables
#ici nous choisissons la couleur de la variable qualitative
#et de cacher l’étiquette des individus grâce au paramètre « label »
 
 

Pour pouvoir décrire les résultats de cette analyse nous avons besoin d’étudier les coefficients de corrélation. On obtient ces coefficients grâce à la fonction dimdesc().

 
dimdesc(res_pca)
 
 

Proposé par Helene F.

Pas encore de commentaire, cliquez ici pour réagir.

Comment analyser les résidus d’une régression linéaire simple sur R ? rstudent

0
dans fonctions utiles
- ça ne sert à rien -- c\'est interessant - (score de +4 sur 4 votes)
Loading...

Contrairement à la fonction residuals(), la fonction rstudent() permet d’obtenir des résidus de même variance. Ce critère est nécessaire pour pouvoir étudier et comparer les résidus.

 
reg_simp <- lm(Sepal.Length~Petal.Length, data=iris)
#On réalise une régréssion linéaire
 
residus=rstudent(reg_simp)
#On calcule les residus
 
plot(residus, ylab="Résidus")
#On represente les résidus dans un graphique
 
abline(h=c(-2,0,2), lty=c(2,1,2))
#La fonction abline permet d'ajouter des droites d'ordonnées -2, 0 et 2
 

En théorie, 95% des résidus se trouvent dans l’intervalle [-2,2]. C’est le cas ici puisque seulement 4 individus sur 150 sont en dehors de cet intervalle. Les individus à l’extérieur de l’intervalle sont des individus extrêmes. 

 

Proposé par Helene F.

Pas encore de commentaire, cliquez ici pour réagir.

Comment effectuer une régression linéaire simple sur R ? lm

0
dans fonctions utiles
- ça ne sert à rien -- c\'est interessant - (score de +1 sur 3 votes)
Loading...

La régression linéaire simple permet de modéliser une relation linéaire entre deux variables quantitatives dans le but d’expliquer un phénomène ou de le prédire.

 
#On commence par représenter les données :
plot(Sepal.Length~Petal.Length, data=iris)
#On constate que la relation entre la largeur des sépales et celle des pétales semble être linéaire
 
#On estime les paramètres :
Reg.simp <- lm(Sepal.Length~Petal.Length, data=iris)
 
#Call:
#lm(formula = Sepal.Length ~ Petal.Length, data = iris)
 
#Residuals:
#     Min       1Q   Median       3Q      Max
#-1.24675 -0.29657 -0.01515  0.27676  1.00269
 
#Coefficients:
#             Estimate Std. Error t value Pr(>|t|)   
#(Intercept)   4.30660    0.07839   54.94   <2e-16 ***
#Petal.Length  0.40892    0.01889   21.65   <2e-16 ***
#---
#Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
#Residual standard error: 0.4071 on 148 degrees of freedom
#Multiple R-squared:   0.76,     Adjusted R-squared:  0.7583
#F-statistic: 468.6 on 1 and 148 DF,  p-value: < 2.2e-16
 
 

On obtient une matrice “Coefficients” qui contient pour chaque paramètre son estimation, son écart-type estimé et la p-value. Si la p-value est inférieure à 0.05 cela signifie que la relation entre les deux variables est significative.

Proposé par Helene F.

Pas encore de commentaire, cliquez ici pour réagir.
Formation logiciel R