Créer une interface "clique-boutons" sous R

EDIT: Ce billet date d'une époque où je n'avais pas encore découvert la magie de Shiny... Désormais, je conseillerais à quiconque souhaite faire une petite interface interactive sous R d'aller voir de ce côté là... Il y a déjà des tutoriels très bien faits ici. Ce billet vise à vous montrer comment construire une interface "clique-boutons" pour R. Pour un utilisateur régulier de R, le recours à une telle interface.. Read More

Classification par arbres décisionnels

Qu'est-ce que c'est? Les arbres décisionnels font partie des méthodes d'apprentissage supervisé, et font à ce titre partie de la boîte à outils du parfait petit dataminer. Ils visent à prédire les valeurs prises par une variable en fonction d'un jeu de variables d'entrée (qu'on appellera ici les descripteurs). Cette prédiction se fait à travers la construction d'un arbre dont chaque noeud correspond à une décision quant à la valeur.. Read More

Test de Wilcoxon-Mann-Whitney

Mise à jour de ce billet: novembre 2020. => passage au tidyverse pour la manipulation des tables de données et les graphiques. A quoi sert-il? Le test U de Mann-Whitney (aussi appelé test de la somme des rangs de Wilcoxon ou plus simplement test de Wilcoxon) sert à tester l’hypothèse selon laquelle la distribution des données est la même pour deux groupes. La p-value associée à ce test va ainsi.. Read More

Ajuster un modèle de distribution à des données

Ce billet vise à vous montrer comment ajuster un modèle de distribution (par exemple une jolie "cloche" gaussienne) à une distribution empirique (i.e. la distribution de vos données telle que vous l'observez, par exemple en traçant l'histogramme correspondant). Il existe plusieurs méthodes possibles pour faire cela, dont la méthode des moments dont je vais parler ici. Considérons les données disponibles ici x=read.csv(paste(dat.path,"data_vraisemblance.csv",sep=""),sep=";")$x head(x) ## [1] 132.5 194.8 179.0 108.7 112.5.. Read More

Faire des boucles for dans R pour automatiser des tâches

La boucle for est un peu le B-A BA de la programmation sous R, mais (pour ceux qui ne connaissent pas), elle a de quoi vous mettre des étoiles dans les yeux (sans exagérer!). En effet, elle permet de vous éviter certaines tâches répétitives en les automatisant, et ainsi de vous faire gagner beaucoup de temps... Voici comment elle est structurée: for (i in 1:n){ ## tâche à répéter n.. Read More

Calculer une aire entre deux courbes

Dans ce post je montre comment utiliser des fonctions que j'ai écrites pour calculer des aires: entre deux courbes entre une courbe et une droite horizontale Cela peut être utile si vous travaillez sur des profils spatiaux qui évoluent au cours du temps (profil topographique par exemple) et que vous souhaitez calculer un bilan (sédimentaire par exemple) entre ces profils. Données d'exemple et script à télécharger Considérons le jeu de.. Read More

Une fonction magique: tapply

Cette fonction permet de calculer une statistique par niveau d'un facteur. Par exemple, considérons les données accessibles ici: ## Warning: attempt to set 'sep' ignored ## site taille ## 1 site1 3.125 ## 2 site1 1.162 ## 3 site1 4.222 ## 4 site1 2.748 ## 5 site1 3.625 ## 6 site1 3.892 Pour connaître la moyenne (par exemple) de la taille en fonction du site, on peut procéder comme suit:.. Read More

Publier du code R dans WordPress via Markdown

Ce post s'adresse principalement à ceux qui ont un blog sous WordPress et souhaiteraient y présenter des lignes de commande et des résultats obtenus sous R. Il est possible que peu de gens se sentent concernés par ce besoin certes très spécifique... Mais, pour ma part, j'aurais été bien heureuse de tomber sur un tel post lorsque je cherchais à automatiser la production de mes posts depuis R/RStudio. J'ai néanmoins.. Read More

Gérer des dates sous R

ATTENTION il y a un billet plus récent sur ce sujet ici Pourquoi la gestion des dates peut-elle poser problème? Considérons le jeu de données data_dates.csv: mydata=read.csv(paste(data.path,"data_dates.csv", sep=""),sep=";", header=T) attach(mydata) print(mydata[1:10,]) ## date_evt heure_evt x ## 1 22/07/2012 06:12 25 ## 2 23/07/2012 07:35 30 ## 3 24/07/2012 05:05 2 ## 4 24/07/2012 20:12 5 ## 5 24/07/2012 12:52 3 ## 6 24/07/2012 12:07 75 ## 7 25/07/2012 15:16 1.. Read More