2369 shaares
164 results
tagged
R
Marrant : ils prennent une image en bitmap (noir et blanc), échantillonnent des pixels, et utilisent un algo pour trouver le plus court chemin passant par les pixels échantillonnés (pb du voyageur de commerce). Résultat: un portrait en une ligne.
Le mec va plus loin: il va prendre une image en niveaux de gris, et va échantillonner les pixels proportionnellement au poids défini par le niveau de gris. Il répète le processus 250 fois, et ça rend l'impression d'une image faite au crayon. Ici : https://fronkonstin.com/2018/04/17/pencil-scribbles/
Le mec va plus loin: il va prendre une image en niveaux de gris, et va échantillonner les pixels proportionnellement au poids défini par le niveau de gris. Il répète le processus 250 fois, et ça rend l'impression d'une image faite au crayon. Ici : https://fronkonstin.com/2018/04/17/pencil-scribbles/
Super tutos sur R, sf et ggplot2, de Mel Moreno et Mathieu Basille. Transféré à tous les collègues.
Rigolo
Ça déchire !
LA VACHE ! J'avais jamais vu, mais sf utilise des index spatiaux !!!
Super intro. Et je découvre au passage le magistral package mapview.
Code intéressant: inclusion des inverse distances au carré comme pondération dans un test d'autocorrélation.
Rigolo.
Ressource intéressante.
Tout est dans le titre. Intro à sf et sp.
Ensemble de ressources pour le spatial sous R
Point de vue d'informaticien sur R. Très drôle.
Utilisation de R pour l'optimisation combinatoire. Sous classe : on cherche à optimiser une fonction objectif linéaire avec des contraintes d'inégalité le tout impliquant des variables entières. Exemple, le problème du sac à dos. Plein de ressources pour ça.
Lié au précédent : qu'est-ce que la vectorisation sous R.
L'époque où les boucles for étaient lentes sous R est révolue. Les fonctions lapply et sapply font des boucles, en interne.
Par contre, redimensionner un objet (ajouter une colonne à une matrice) prend du temps parce qu'il faut à chaque fois réallouer la mémoire. Si on sait quelle taille finale l'objet doit faire, on gagne du temps à initialiser la matrice, puis à la remplir, plutôt que de faire du cbind à chaque fois.
Sinon, on peut utiliser une liste, car les éléments d'une liste ne sont pas localisés de façon contigüe dans la mémoire, donc pas besoin d'allouer toute la liste à chaque fois.
Essayer de viser la vectorisation au maximum. Gaffe, sapply/lapply ne sont pas des fonctions vectorisées : ce sont des boucles for cachées.
Par contre, redimensionner un objet (ajouter une colonne à une matrice) prend du temps parce qu'il faut à chaque fois réallouer la mémoire. Si on sait quelle taille finale l'objet doit faire, on gagne du temps à initialiser la matrice, puis à la remplir, plutôt que de faire du cbind à chaque fois.
Sinon, on peut utiliser une liste, car les éléments d'une liste ne sont pas localisés de façon contigüe dans la mémoire, donc pas besoin d'allouer toute la liste à chaque fois.
Essayer de viser la vectorisation au maximum. Gaffe, sapply/lapply ne sont pas des fonctions vectorisées : ce sont des boucles for cachées.
Multi-agent programming environment. Avec interface sous R programmable ici : https://github.com/PredictiveEcology/NetLogoR
Des podcasts sur la data science.
Pourquoi utiliser Viridis: 7% d'erreur à identifier une discontinuité, vs 28% pour rainbow.
À creuser, le package semble sympa.