<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Joseph Larmarange</title>
	<link>https://joseph.larmarange.net/</link>
	<description>D&#233;mographe en sant&#233; publique, directeur de recherche HDR &#224; l'IRD,directeur adjoint du Ceped (UMR 196 Universit&#233; Paris Cit&#233;, IRD, Universit&#233; Sorbonne Paris Nord, Inserm)</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.joseph.larmarange.net/spip.php?id_mot=108&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Joseph Larmarange</title>
		<url>https://www.joseph.larmarange.net/local/cache-vignettes/L144xH52/joseph_larmarange_site-6e82f.svg?1649686173</url>
		<link>https://joseph.larmarange.net/</link>
		<height>52</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Enseigner R sur YouTube en temps de COVID-19&#160;: retour d'exp&#233;rience des webin-R</title>
		<link>https://www.joseph.larmarange.net/enseigner-r-sur-youtube-en-temps-391</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/enseigner-r-sur-youtube-en-temps-391</guid>
		<dc:date>2026-01-26T11:02:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>Enseignement acad&#233;mique</dc:subject>
		<dc:subject>Graphiques</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>
		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Statistiques</dc:subject>

		<description>
&lt;p&gt;R&#233;sum&#233; &lt;br class='autobr' /&gt;
En contexte COVID-19, j'ai mis en place en novembre 2020 un webinaire hebdomadaire d'enseignement &#224; R&#160;: les webin-R. Diffus&#233;es en direct sur YouTube, les sessions duraient de 1 h 30 &#224; 2 h, avec partage d'&#233;cran. Les contenus reposaient sur analyse-R, un support de formation en ligne cr&#233;&#233; et maintenu depuis 2015. &lt;br class='autobr' /&gt;
Mi-mai 2021, une enqu&#234;te a &#233;t&#233; men&#233;e aupr&#232;s des participant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es aux webin-R (120 questionnaires compl&#233;t&#233;s). Les r&#233;pondant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es &#233;taient en majorit&#233; des hommes (64&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%), &#226;g&#233;s de&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Publications-11-" rel="directory"&gt;Publications&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-Enseignement-academique-+" rel="tag"&gt;Enseignement acad&#233;mique&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Graphiques-+" rel="tag"&gt;Graphiques&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Statistiques-+" rel="tag"&gt;Statistiques&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L150xH112/1ceedc4d-bed9-41b2-8896-026d6c16ca8c-0e99f.jpg?1768932102' class='spip_logo spip_logo_right' width='150' height='112' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;div class=&#034;hal-resultats&#034;&gt; &lt;div class=&#034;hal-resultat hal-resultat-5477251&#034;&gt; &lt;div class=&#034;hal-thumb&#034;&gt;&lt;a href=&#034;https://hal.science/hal-05468424v2/document&#034; class=&#034;hal-thumb-link&#034;&gt;&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L53xH75/thumb-807107ee-ddd30.png?1769515026' alt=&#034;Image document&#034; width='53' height='75' /&gt; &lt;/a&gt;&lt;/div&gt; &lt;div class=&#034;hal-preview&#034;&gt; &lt;a href=&#034;https://hal.science/hal-05468424v2&#034; class=&#034;hal-titre&#034;&gt; &lt;h3 class=&#034;hal-titre-heading&#034;&gt;Enseigner R sur YouTube en temps de COVID-19 : retour d'exp&#233;rience des webin R&lt;/h3&gt; &lt;/a&gt; &lt;div class=&#034;hal-auteurs&#034;&gt; &lt;a href=&#034;https://hal.science/search/index/q/*/authIdHal_s/joseph-larmarange&#034; class=&#034;hal-auteur&#034;&gt;Joseph Larmarange&lt;/a&gt; &lt;/div&gt; &lt;div class=&#034;hal-citation&#034;&gt;2026&lt;/div&gt; &lt;div class=&#034;hal-typedoc hal-typedoc-undefined&#034;&gt;Pr&#233;-publication, Document de travail&lt;/div&gt; &lt;div class=&#034;hal-links&#034;&gt; &lt;a href=&#034;https://hal.science/hal-05468424v2&#034; class=&#034;hal-link hal-link-hal&#034;&gt;hal-05468424&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;
R&#233;sum&#233;&lt;/h2&gt;
&lt;p&gt;En contexte COVID-19, j'ai mis en place en novembre 2020 un webinaire hebdomadaire d'enseignement &#224; R&#160;: les webin-R. Diffus&#233;es en direct sur YouTube, les sessions duraient de 1 h 30 &#224; 2 h, avec partage d'&#233;cran. Les contenus reposaient sur analyse-R, un support de formation en ligne cr&#233;&#233; et maintenu depuis 2015.&lt;/p&gt;
&lt;p&gt;Mi-mai 2021, une enqu&#234;te a &#233;t&#233; men&#233;e aupr&#232;s des participant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es aux webin-R (120 questionnaires compl&#233;t&#233;s). Les r&#233;pondant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es &#233;taient en majorit&#233; des hommes (64&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%), &#226;g&#233;s de 40 ans ou moins (62&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%). La moiti&#233; (49&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%) r&#233;sidait hors de France. Ils/Elles &#233;taient mast&#233;rant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es (20&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%), doctorant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es (25&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%), postdoctorant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es (3&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%), ing&#233;nieur&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es (26&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%), chercheur&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es (18&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;%). Les disciplines &#233;taient tout aussi vari&#233;es.&lt;/p&gt;
&lt;p&gt;En termes de participation, nous avons observ&#233; une fatigue au cours du temps, et surtout une baisse du suivi en direct au profit du diff&#233;r&#233;.&lt;/p&gt;
&lt;p&gt;Les participant&lt;span aria-hidden='true'&gt;&#183;&lt;/span&gt;es ont soulign&#233; l'importance du visionnage en diff&#233;r&#233;, la mise &#224; disposition des scripts, le chapitrage des vid&#233;os, l'articulation avec analyse-R, le partage d'&#233;cran, la langue fran&#231;aise et la gratuit&#233; des contenus. Certains regrettent l'absence d'exercices ou la non-possibilit&#233; de valider des cr&#233;dits d'enseignement.&lt;/p&gt;
&lt;p&gt;L'exp&#233;rience des webin-R traduit une forte demande pour des contenus d'autoformation &#224; R, avec une vis&#233;e appliqu&#233;e, en fran&#231;ais, et facilement accessibles. Le format libre participe au d&#233;veloppement d'une science ouverte.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mots cl&#233;s&#160;:&lt;/strong&gt; enseignement statistique, R, YouTube, enqu&#234;te en ligne, COVID-19.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.joseph.larmarange.net/IMG/pdf/wp62.pdf" length="726010" type="application/pdf" />
		

	</item>
<item xml:lang="en">
		<title>Reproducible Summary Tables with the gtsummary Package</title>
		<link>https://www.joseph.larmarange.net/Reproducible-Summary-Tables-with</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/Reproducible-Summary-Tables-with</guid>
		<dc:date>2021-08-06T14:19:47Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>en</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>Programmation / Code</dc:subject>
		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Statistiques</dc:subject>

		<description>
&lt;p&gt;Reproducible Summary Tables with the gtsummary Package &lt;br class='autobr' /&gt; Daniel D. Sjoberg , Karissa Whiting , Michael Curry , Jessica A Lavery , Joseph Larmarange The R Journal, 2021, 13 (1), pp.570-580. &#10216;10.32614/RJ-2021-053&#10217; Article dans une revue ird-03883594&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Publications-11-" rel="directory"&gt;Publications&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Statistiques-+" rel="tag"&gt;Statistiques&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L150xH114/arton300-5ab2e.png?1715148192' class='spip_logo spip_logo_right' width='150' height='114' alt=&#034;&#034; /&gt;
		&lt;div class='rss_texte'&gt;&lt;div class=&#034;hal-resultats&#034;&gt; &lt;div class=&#034;hal-resultat hal-resultat-3883594&#034;&gt; &lt;div class=&#034;hal-thumb&#034;&gt;&lt;a href=&#034;https://ird.hal.science/ird-03883594v1/document&#034; class=&#034;hal-thumb-link&#034;&gt;&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L53xH75/thumb-81905e2d-79937.png?1703449202' alt=&#034;Image document&#034; width='53' height='75' /&gt; &lt;/a&gt;&lt;/div&gt; &lt;div class=&#034;hal-preview&#034;&gt; &lt;a href=&#034;https://ird.hal.science/ird-03883594v1&#034; class=&#034;hal-titre&#034;&gt; &lt;h3 class=&#034;hal-titre-heading&#034;&gt;Reproducible Summary Tables with the gtsummary Package&lt;/h3&gt; &lt;/a&gt; &lt;div class=&#034;hal-auteurs&#034;&gt; &lt;a href=&#034;https://hal.science/search/index/?q=*&amp;authFullName_s=Daniel+D.+Sjoberg&#034; class=&#034;hal-auteur&#034;&gt;Daniel D. Sjoberg&lt;/a&gt; , &lt;a href=&#034;https://hal.science/search/index/?q=*&amp;authFullName_s=Karissa+Whiting&#034; class=&#034;hal-auteur&#034;&gt;Karissa Whiting&lt;/a&gt; , &lt;a href=&#034;https://hal.science/search/index/?q=*&amp;authFullName_s=Michael+Curry&#034; class=&#034;hal-auteur&#034;&gt;Michael Curry&lt;/a&gt; , &lt;a href=&#034;https://hal.science/search/index/?q=*&amp;authFullName_s=Jessica+A+Lavery&#034; class=&#034;hal-auteur&#034;&gt;Jessica A Lavery&lt;/a&gt; , &lt;a href=&#034;https://hal.science/search/index/q/*/authIdHal_s/joseph-larmarange&#034; class=&#034;hal-auteur&#034;&gt;Joseph Larmarange&lt;/a&gt; &lt;/div&gt; &lt;div class=&#034;hal-citation&#034;&gt;&lt;i&gt;The R Journal&lt;/i&gt;, 2021, 13 (1), pp.570-580. &lt;a target=&#034;_blank&#034; href=&#034;https://dx.doi.org/10.32614/RJ-2021-053&#034; rel=&#034;noreferrer noopener&#034;&gt;&#10216;10.32614/RJ-2021-053&#10217;&lt;/a&gt;&lt;/div&gt; &lt;div class=&#034;hal-typedoc hal-typedoc-art&#034;&gt;Article dans une revue&lt;/div&gt; &lt;div class=&#034;hal-links&#034;&gt; &lt;a href=&#034;https://ird.hal.science/ird-03883594v1&#034; class=&#034;hal-link hal-link-hal&#034;&gt;ird-03883594&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;
Authors&lt;/h2&gt;
&lt;p&gt;Daniel D. Sjoberg, Karissa Whiting, Michael Curry, Jessica A. Lavery, Joseph Larmarange&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;
Abstract&lt;/h2&gt;
&lt;p&gt;The gtsummary package provides an elegant and flexible way to create publication-ready summary tables in R. A critical part of the work of statisticians, data scientists, and analysts is summarizing data sets and regression models in R and publishing or sharing polished summary tables. The gtsummary package was created to streamline these everyday analysis tasks by allowing users to easily create reproducible summaries of data sets, regression models, survey data, and survival data with a simple interface and very little code. The package follows a tidy framework, making it easy to integrate with standard data workflows, and offers many table customization features through function arguments, helper functions, and custom themes.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;
Links&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;http://www.danieldsjoberg.com/gtsummary/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;gtsummary website&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Un m&#234;me objet biographique sous l'angle de plusieurs approches m&#233;thodologiques</title>
		<link>https://www.joseph.larmarange.net/un-meme-objet-biographique-sous-l</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/un-meme-objet-biographique-sous-l</guid>
		<dc:date>2018-10-19T14:03:53Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>M&#233;thodologie</dc:subject>
		<dc:subject>Mesure des indicateurs</dc:subject>
		<dc:subject>Acc&#232;s aux soins</dc:subject>
		<dc:subject>Repr&#233;sentativit&#233; et Biais</dc:subject>
		<dc:subject>R&#233;gression logistique</dc:subject>
		<dc:subject>D&#233;mographie</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>
		<dc:subject>Analyse de s&#233;quences</dc:subject>
		<dc:subject>Classification hi&#233;rarchique</dc:subject>
		<dc:subject>Cascade des soins</dc:subject>
		<dc:subject>Approches biographiques</dc:subject>

		<description>
&lt;p&gt;Communication orale pr&#233;sent&#233;e le 18&#160;octobre 2018 &#224; Paris dans le cadre du colloque Parcours de vie et sant&#233;&#160;: apports des m&#233;thodes biographiques en sant&#233; publique. &lt;br class='autobr' /&gt; L'ensemble des analyses et le code correspondant est disponible sur http://larmarange.github.io/analyse-R/trajectoires-de-soins.html R&#233;f&#233;rence &lt;br class='autobr' /&gt;
Larmarange Joseph (2018) &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;Un m&#234;me objet biographique sous l'angle de plusieurs approches m&#233;thodologiques&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; (communication orale), pr&#233;sent&#233; &#224; Parcours de vie et sant&#233;&#160;: apports des&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Communications-" rel="directory"&gt;Communications&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-Methodologie-+" rel="tag"&gt;M&#233;thodologie&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Validite-de-la-mesure-+" rel="tag"&gt;Mesure des indicateurs&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Acces-aux-soins-+" rel="tag"&gt;Acc&#232;s aux soins&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Representativite-et-Biais-+" rel="tag"&gt;Repr&#233;sentativit&#233; et Biais&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Regression-logistique-+" rel="tag"&gt;R&#233;gression logistique&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Demographie-+" rel="tag"&gt;D&#233;mographie&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Analyse-de-sequences-+" rel="tag"&gt;Analyse de s&#233;quences&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Classification-hierarchique-+" rel="tag"&gt;Classification hi&#233;rarchique&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Cascade-des-soins-+" rel="tag"&gt;Cascade des soins&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Approches-biographiques-+" rel="tag"&gt;Approches biographiques&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L150xH100/arton241-cadd5.jpg?1715127904' class='spip_logo spip_logo_right' width='150' height='100' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Communication orale pr&#233;sent&#233;e le 18&#160;octobre 2018 &#224; Paris dans le cadre du colloque &lt;i&gt;Parcours de vie et sant&#233;&#160;: apports des m&#233;thodes biographiques en sant&#233; publique&lt;/i&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;L'ensemble des analyses et le code correspondant est disponible sur &lt;a href=&#034;http://larmarange.github.io/analyse-R/trajectoires-de-soins.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://larmarange.github.io/analyse-R/trajectoires-de-soins.html&lt;/a&gt;&lt;/p&gt;
&lt;iframe width=&#034;100%&#034; height=&#034;450&#034; src=&#034;https://www.youtube.com/embed/SCaiB3YCC2U&#034; frameborder=&#034;0&#034; allow=&#034;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&#034; allowfullscreen&gt;&lt;/iframe&gt;&lt;h2 class=&#034;spip&#034;&gt;
R&#233;f&#233;rence&lt;/h2&gt;
&lt;p&gt;&lt;abbr class=&#034;unapi-id&#034; title=&#034;F7I4FJY3&#034;&gt;&lt;/abbr&gt;&lt;span class=&#034;csl-bib-body&#034;&gt;&lt;span class=&#034;csl-entry&#034;&gt;&lt;span style=&#034;font-variant: small-caps;&#034;&gt;Larmarange&lt;/span&gt; Joseph (2018) &#171;&#160;Un m&#234;me objet biographique sous l'angle de plusieurs approches m&#233;thodologiques&#160;&#187; (communication orale), pr&#233;sent&#233; &#224; &lt;span style=&#034;font-style: italic;&#034; &gt;Parcours de vie et sant&#233; : apports des m&#233;thodes biographiques en sant&#233; publique&lt;/span&gt;, Paris. https://biographiesante2018.sciencesconf.org/.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.joseph.larmarange.net/IMG/pdf/larmarange_biographiesante2018.pdf" length="1315651" type="application/pdf" />
		

	</item>
<item xml:lang="fr">
		<title>Introduction &#224; l'analyse d'enqu&#234;tes avec R</title>
		<link>https://www.joseph.larmarange.net/Introduction-a-l-analyse-d</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/Introduction-a-l-analyse-d</guid>
		<dc:date>2013-11-15T16:13:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>Statistiques</dc:subject>
		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>

		<description>
&lt;p&gt;Cours de 8 heures r&#233;alis&#233; dans le cadre du Master 2 Population &amp; D&#233;veloppement de l'universit&#233; Paris Descartes. Support de cours &lt;br class='autobr' /&gt;
Il a &#233;t&#233; r&#233;alis&#233; &#224; partir d'un document original de Julien Barnier, compl&#233;t&#233; par Joseph Larmarange. Le chapitre sur l'analyse de s&#233;quences est une reprise d'un article original de Nicolas Robette. Ce document &#233;volutif, sous licence Creative Commons, est d&#233;velopp&#233; sous GitHub&#160;: https://github.com/larmarange/intro... &lt;br class='autobr' /&gt;
Barnier Julien et Larmarange Joseph&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Enseignements-" rel="directory"&gt;Enseignements&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-Statistiques-+" rel="tag"&gt;Statistiques&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Cours de 8 heures r&#233;alis&#233; dans le cadre du Master 2 &lt;i&gt;Population &amp; D&#233;veloppement&lt;/i&gt; de l'universit&#233; Paris Descartes.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;
Support de cours&lt;/h2&gt;
&lt;p&gt;Il a &#233;t&#233; r&#233;alis&#233; &#224; partir d'un document original de Julien Barnier, compl&#233;t&#233; par Joseph Larmarange. Le chapitre sur l'analyse de s&#233;quences est une reprise d'un article original de Nicolas Robette. Ce document &#233;volutif, sous licence Creative Commons, est d&#233;velopp&#233; sous GitHub&#160;: &lt;a href=&#034;https://github.com/larmarange/intro-r/tree/CoursM2&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;https://github.com/larmarange/intro...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;abbr class=&#034;unapi-id&#034; title=&#034;K23QIAGW&#034;&gt;&lt;/abbr&gt;&lt;span class=&#034;csl-bib-body&#034;&gt;&lt;span class=&#034;csl-entry&#034;&gt;&lt;span style=&#034;font-variant: small-caps;&#034;&gt;Barnier&lt;/span&gt; Julien et &lt;span style=&#034;font-variant: small-caps;&#034;&gt;Larmarange&lt;/span&gt; Joseph (2013) &#171;&#160;Introduction &#224; l'analyse d'enqu&#234;tes avec R&#160;&#187;, Support de cours. https://github.com/larmarange/intro-r/tree/CoursM2.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://github.com/larmarange/intro-r/blob/CoursM2/intro.pdf?raw=true" length="5492272" type="application/pdf" />
		

	</item>
<item xml:lang="fr">
		<title>O&#249; couper un dendrogramme&#160;?</title>
		<link>https://www.joseph.larmarange.net/Ou-couper-un-dendrogramme</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/Ou-couper-un-dendrogramme</guid>
		<dc:date>2013-11-03T19:43:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>Statistiques</dc:subject>
		<dc:subject>Astuces</dc:subject>
		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>
		<dc:subject>Classification hi&#233;rarchique</dc:subject>

		<description>
&lt;p&gt;La fonction best.cutree est maintenant disponible dans la package JLutils. &lt;br class='autobr' /&gt; Dans le cadre d'une classification hi&#233;rarchique, il n'est pas toujours ais&#233;e de d&#233;terminer le nombre ad&#233;quat de classes &#224; retenir. &lt;br class='autobr' /&gt;
Le package FactoMineR, dans le cadre de sa fonction HCPC, sugg&#232;re d'utiliser la partition ayant la plus grande perte relative d'inertie. La fonction best.cutree ci-dessous permet de calculer ce crit&#232;re &#224; partir de n'importe quel dendrogramme, qu'il ait &#233;t&#233; calcul&#233; avec hclust ou&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Divers-" rel="directory"&gt;Divers&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-Statistiques-+" rel="tag"&gt;Statistiques&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Astuces-+" rel="tag"&gt;Astuces&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Classification-hierarchique-+" rel="tag"&gt;Classification hi&#233;rarchique&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;La fonction &lt;code&gt;best.cutree&lt;/code&gt; est maintenant disponible dans la package &lt;a href=&#034;https://github.com/larmarange/JLutils&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;JLutils&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Dans le cadre d'une classification hi&#233;rarchique, il n'est pas toujours ais&#233;e de d&#233;terminer le nombre ad&#233;quat de classes &#224; retenir.&lt;/p&gt;
&lt;p&gt;Le package &lt;a href=&#034;http://factominer.free.fr/index_fr.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;FactoMineR&lt;/a&gt;, dans le cadre de sa fonction &lt;a href=&#034;http://www.rdocumentation.org/packages/FactoMineR/functions/HCPC&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;HCPC&lt;/a&gt;, sugg&#232;re d'utiliser la partition ayant la plus grande perte relative d'inertie. La fonction &lt;code&gt;best.cutree&lt;/code&gt; ci-dessous permet de calculer ce crit&#232;re &#224; partir de n'importe quel dendrogramme, qu'il ait &#233;t&#233; calcul&#233; avec &lt;code&gt;hclust&lt;/code&gt; ou &lt;code&gt;agnes&lt;/code&gt;.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;C&#034;&gt;&lt;code&gt;best.cutree &lt;- function(hc, min=3, max=20, loss=FALSE, graph=FALSE, ...){ if (class(hc)!=&#034;hclust&#034;) hc &lt;- as.hclust(hc) max &lt;- min(max, length(hc$height)) inert.gain &lt;- rev(hc$height) intra &lt;- rev(cumsum(rev(inert.gain))) relative.loss = intra[min:(max)]/intra[(min - 1):(max - 1)] best = which.min(relative.loss) names(relative.loss) &lt;- min:max if (graph) { temp &lt;- relative.loss temp[best] &lt;- NA best2 &lt;- which.min(temp) pch &lt;- rep(1, max-min+1) pch[best] &lt;- 16 pch[best2] &lt;- 21 plot(min:max, relative.loss, pch=pch, bg=&#034;grey75&#034;, ...) } else { if (loss) relative.loss else best + min - 1 }
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;code&gt;hc&lt;/code&gt;&#160;: dendrogramme renvoy&#233; par &lt;code&gt;hclust&lt;/code&gt; ou &lt;code&gt;agnes&lt;/code&gt;&lt;/li&gt;&lt;li&gt; &lt;code&gt;min&lt;/code&gt;&#160;: nombre minimum de classes&lt;/li&gt;&lt;li&gt; &lt;code&gt;max&lt;/code&gt;&#160;: nombre maximum de classes&lt;/li&gt;&lt;li&gt; &lt;code&gt;loss&lt;/code&gt;&#160;: si &#233;gal &#224; &lt;code&gt;TRUE&lt;/code&gt;, renverra la liste des pertes d'inertie relatives plut&#244;t que la meilleure partition&lt;/li&gt;&lt;li&gt; &lt;code&gt;graph&lt;/code&gt;&#160;: si &#233;gal &#224;&lt;code&gt;TRUE&lt;/code&gt;, affichera un graphique des pertes d'inertie relatives, la meilleure partition &#233;tant repr&#233;sent&#233;e par un point noir et la seconde par un point gris&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Exemples&#160;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;R&gt; best.cutree(arbre)
[1] 5 R&gt; best.cutree(arbre,loss=TRUE) 3 4 5 6 7 0.9112290 0.9046093 0.8985344 0.9081087 0.9131271 8 9 10 11 12 0.9223434 0.9542413 0.9569882 0.9626851 0.9667498 13 14 15 16 17 0.9744444 0.9751951 0.9808652 0.9813681 0.9814403 18 19 20 0.9818613 0.9819599 0.9819514 R&gt; best.cutree(arbre,graph=TRUE)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;figure class='spip_document_196 spip_documents spip_documents_center media media_image media_image_png'&gt;&lt;a href='https://www.joseph.larmarange.net/IMG/png/best.cutree.png' class=&#034;spip_in&#034; title=&#034;png/best.cutree.png&#034; hreflang=&#034;&#034; type=&#034;image/png&#034;&gt;&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L564xH360/best.cutree-da720-9b939.png?1643695220' width='564' height='360' alt='PNG - 3.5 kio' /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Manipulation de donn&#233;es&#160;: quelques mini-fonctions</title>
		<link>https://www.joseph.larmarange.net/Manipulation-de-donnees-quelques</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/Manipulation-de-donnees-quelques</guid>
		<dc:date>2013-11-02T13:41:11Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>

		<description>
&lt;p&gt;Les fonctions na.rm et rm.unused.levels sont maintenant disponibles dans le package questionr (&#224; partir de la version 0.3.0). &lt;br class='autobr' /&gt; Deux petites fonctions pour manipuler un tableau de donn&#233;es sous R. &lt;br class='autobr' /&gt;
Suppression des valeurs manquantes &lt;br class='autobr' /&gt; na.rm &lt;- function(x, v=NULL) &lt;br class='autobr' /&gt; if (!is.data.frame(x)) x &lt;- as.data.frame(x) # Les variables a traiter sont specifiees&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? if (is.null(v)) v &lt;- names(x) # Pour chaque variable specifie, suppression des observations si NA r &lt;-&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Divers-" rel="directory"&gt;Divers&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Les fonctions &lt;code&gt;na.rm&lt;/code&gt; et &lt;code&gt;rm.unused.levels&lt;/code&gt; sont maintenant disponibles dans le package &lt;a href=&#034;http://cran.r-project.org/web/packages/questionr/index.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;questionr&lt;/a&gt; (&#224; partir de la version 0.3.0).&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Deux petites fonctions pour manipuler un tableau de donn&#233;es sous R.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;
Suppression des valeurs manquantes&lt;/h2&gt;&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;C&#034;&gt;&lt;code&gt;na.rm &lt;- function(x, v=NULL)
{ if (!is.data.frame(x)) x &lt;- as.data.frame(x) # Les variables a traiter sont specifiees ? if (is.null(v)) v &lt;- names(x) # Pour chaque variable specifie, suppression des observations si NA r &lt;- x[complete.cases(x[v]),] return(r)
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;code&gt;na.rm&lt;/code&gt; est similaire &#224; &lt;code&gt;na.omit&lt;/code&gt; sauf qu'il est possible de sp&#233;cifier les variables &#224; prendre en compte.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;&gt; df &lt;- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z= c(&#034;a&#034;,NA,&#034;b&#034;)) &gt; df x y z
1 1 0 a
2 2 10 &lt;NA&gt;
3 3 NA b &gt; na.omit(df) x y z
1 1 0 a &gt; na.rm(df) x y z
1 1 0 a &gt; na.rm(df, c(&#034;x&#034;,&#034;y&#034;)) x y z
1 1 0 a
2 2 10 &lt;NA&gt; &gt; na.rm(df, &#034;z&#034;) x y z
1 1 0 a
3 3 NA b&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;
Suppression des modalit&#233;s inutilis&#233;es d'un facteur&lt;/h2&gt;&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;C&#034;&gt;&lt;code&gt;rm.unused.levels &lt;- function(x, v=NULL)
{ if (!is.data.frame(x)) x &lt;- as.data.frame(x) # Les variables a traiter sont specifiees ? if (is.null(v)) v &lt;- names(x) # Pour chaque variable de type facteur, supression des levels inutilis&#233;s for (i in 1:length(x)) { if (is.factor(x[[i]]) &amp; names(x)[i] %in% v) x[[i]] &lt;- factor(x[[i]]) } return(x)
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il arrive parfois que l'on ait des facteurs avec des modalit&#233;s non utilis&#233;es, par exemple apr&#232;s importation d'un fichier d'enqu&#234;te ou apr&#232;s s&#233;lection d'un sous-&#233;chantillon. &lt;code&gt;rm.unused.levels&lt;/code&gt; permet de ne conserver que les modalit&#233;s d'un facteur attribu&#233;es &#224; au moins une observation.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;&gt; df &lt;- data.frame(v1=c(&#034;a&#034;,&#034;b&#034;,&#034;a&#034;,&#034;b&#034;),v2=c(&#034;x&#034;,&#034;x&#034;,&#034;y&#034;,&#034;y&#034;))
&gt; df$v1 &lt;- factor(df$v1,c(&#034;a&#034;,&#034;b&#034;,&#034;c&#034;))
&gt; df$v2 &lt;- factor(df$v2,c(&#034;x&#034;,&#034;y&#034;,&#034;z&#034;)) &gt; str(df)
'data.frame':	4 obs. of 2 variables: $ v1: Factor w/ 3 levels &#034;a&#034;,&#034;b&#034;,&#034;c&#034;: 1 2 1 2 $ v2: Factor w/ 3 levels &#034;x&#034;,&#034;y&#034;,&#034;z&#034;: 1 1 2 2 &gt; str(rm.unused.levels(df))
'data.frame':	4 obs. of 2 variables: $ v1: Factor w/ 2 levels &#034;a&#034;,&#034;b&#034;: 1 2 1 2 $ v2: Factor w/ 2 levels &#034;x&#034;,&#034;y&#034;: 1 1 2 2 &gt; str(rm.unused.levels(df,&#034;v1&#034;))
'data.frame':	4 obs. of 2 variables: $ v1: Factor w/ 2 levels &#034;a&#034;,&#034;b&#034;: 1 2 1 2 $ v2: Factor w/ 3 levels &#034;x&#034;,&#034;y&#034;,&#034;z&#034;: 1 1 2 2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Repr&#233;senter des effectifs dans le plan factoriel</title>
		<link>https://www.joseph.larmarange.net/Representer-des-effectifs-dans-le</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/Representer-des-effectifs-dans-le</guid>
		<dc:date>2013-11-02T12:47:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>Statistiques</dc:subject>
		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>
		<dc:subject>Analyse factorielle</dc:subject>

		<description>
&lt;p&gt;La fonction s.freq est maintenant disponible dans la package JLutils. &lt;br class='autobr' /&gt; Lorsque l'on r&#233;alise une analyse des correspondances multiples (ACM), il n'est pas rare que plusieurs observations soient identiques, c'est-&#224;-dire correspondent &#224; la m&#234;me combinaison de modalit&#233;s. D&#232;s lors, ces observations seront projet&#233;es sur le m&#234;me point dans le plan factoriel. Une repr&#233;sentation classique des observations ne permettra pas de rendre des effectifs de chaque point. &lt;br class='autobr' /&gt;
Prenons un exemple&#160;:&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Divers-" rel="directory"&gt;Divers&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-Statistiques-+" rel="tag"&gt;Statistiques&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Analyse-factorielle-+" rel="tag"&gt;Analyse factorielle&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;La fonction &lt;code&gt;s.freq&lt;/code&gt; est maintenant disponible dans la package &lt;a href=&#034;https://github.com/larmarange/JLutils&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;JLutils&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Lorsque l'on r&#233;alise une &lt;a href=&#034;http://fr.wikipedia.org/wiki/Analyse_des_correspondances_multiples&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;analyse des correspondances multiples&lt;/a&gt; (ACM), il n'est pas rare que plusieurs observations soient identiques, c'est-&#224;-dire correspondent &#224; la m&#234;me combinaison de modalit&#233;s. D&#232;s lors, ces observations seront projet&#233;es sur le m&#234;me point dans le plan factoriel. Une repr&#233;sentation classique des observations ne permettra pas de rendre des effectifs de chaque point.&lt;/p&gt;
&lt;p&gt;Prenons un exemple&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;library(questionr)
data(hdv2003)
library(ade4)
acm &lt;- dudi.acm(hdv2003[,c(&#034;sexe&#034;,&#034;sport&#034;,&#034;bricol&#034;,&#034;cuisine&#034;,&#034;cinema&#034;)], scannf=FALSE)
s.label(acm$li, clabel=0, cpoint=2)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;figure class='spip_document_194 spip_documents spip_documents_center media media_image media_image_png'&gt;&lt;a href='https://www.joseph.larmarange.net/IMG/png/s.label.png' class=&#034;spip_in&#034; title=&#034;Graphique obtenu avec s.label&#034; hreflang=&#034;&#034; type=&#034;image/png&#034;&gt;&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L567xH360/s.label-cb38f-0ec78.png?1643983061' width='567' height='360' alt='Graphique obtenu avec s.label' /&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;C'est pourquoi nous avons concoct&#233; une petite fonction &lt;code&gt;s.freq&lt;/code&gt; &lt;br class='autobr' /&gt;
reprenant le principe de &lt;code&gt;s.value&lt;/code&gt; mais repr&#233;sentant chaque point par&lt;br class='autobr' /&gt;
un carr&#233; proportionnel au nombre d'individus identiques.&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;C&#034;&gt;&lt;code&gt;s.freq &lt;- function(dfxy, xax=1, yax=2, ...) { require(ade4) d &lt;- as.data.frame(table(dfxy[c(xax,yax)])) d &lt;- d[d$Freq&gt;0,] d[1] &lt;- as.numeric(as.character(d[[1]])) d[2] &lt;- as.numeric(as.character(d[[2]])) s.value(d,d$Freq, ...) }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voici le r&#233;sultat&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;s.freq(acm$li, csize=0.75)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;figure class='spip_document_195 spip_documents spip_documents_center media media_image media_image_png'&gt;&lt;a href='https://www.joseph.larmarange.net/IMG/png/s.freq.png' class=&#034;spip_in&#034; title=&#034;Graphique obtenu avec s.freq&#034; hreflang=&#034;&#034; type=&#034;image/png&#034;&gt;&lt;img src='https://www.joseph.larmarange.net/local/cache-vignettes/L567xH360/s.freq-e6ebc-de6d6.png?1643983061' width='567' height='360' alt='Graphique obtenu avec s.freq' /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Calculer les Odds Ratio d'une r&#233;gression logistique binaire ou multinomiale</title>
		<link>https://www.joseph.larmarange.net/calculer-les-odds-ratio-d-une</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/calculer-les-odds-ratio-d-une</guid>
		<dc:date>2013-10-29T16:21:40Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>Mod&#233;lisation</dc:subject>
		<dc:subject>R&#233;gression logistique</dc:subject>
		<dc:subject>Statistiques</dc:subject>
		<dc:subject>Astuces</dc:subject>
		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>

		<description>
&lt;p&gt;La fonction odds.ratio est maintenant disponible dans le package questionr (&#224; partir de la version 0.3.0). &lt;br class='autobr' /&gt; Lorsque l'on calcule une r&#233;gression logistique avec glm(), la fonction summary() ne fournit pas directement les odds ratio. Bien que ces derniers soient ais&#233;s &#224; calculer (voir , il peut &#234;tre utile d'avoir une fonction les renvoyant directement. &lt;br class='autobr' /&gt;
Le constat est presque identique lorsque l'on r&#233;alise une r&#233;gression multinomiale avec multinom() du package nnet. Mais cette fois-ci, les&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Divers-" rel="directory"&gt;Divers&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-Modelisation-+" rel="tag"&gt;Mod&#233;lisation&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Regression-logistique-+" rel="tag"&gt;R&#233;gression logistique&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Statistiques-+" rel="tag"&gt;Statistiques&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-Astuces-+" rel="tag"&gt;Astuces&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;La fonction &lt;code&gt;odds.ratio&lt;/code&gt; est maintenant disponible dans le package &lt;a href=&#034;http://cran.r-project.org/web/packages/questionr/index.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;questionr&lt;/a&gt; (&#224; partir de la version 0.3.0).&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Lorsque l'on calcule une r&#233;gression logistique avec &lt;code&gt;glm()&lt;/code&gt;, la fonction &lt;code&gt;summary()&lt;/code&gt; ne fournit pas directement les odds ratio. Bien que ces derniers soient ais&#233;s &#224; calculer (voir &lt;a href=&#034;http://www.ats.ucla.edu/stat/r/dae/logit.htm&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://www.ats.ucla.edu/stat/r/dae/...&lt;/a&gt;, il peut &#234;tre utile d'avoir une fonction les renvoyant directement.&lt;/p&gt;
&lt;p&gt;Le constat est presque identique lorsque l'on r&#233;alise une r&#233;gression multinomiale avec &lt;code&gt;multinom()&lt;/code&gt; du package &lt;strong&gt;nnet&lt;/strong&gt;. Mais cette fois-ci, les valeurs de &lt;i&gt;p&lt;/i&gt; ne sont m&#234;me pas accessibles via &lt;code&gt;summary()&lt;/code&gt; (voir &lt;a href=&#034;http://www.ats.ucla.edu/stat/r/dae/mlogit.htm&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://www.ats.ucla.edu/stat/r/dae/...&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La fonction &lt;code&gt;odds.ratio()&lt;/code&gt;, dont le code est visible &#224; &lt;a href=&#034;https://github.com/juba/questionr/blob/master/R/odds.ratio.r&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/juba/questionr/blob/master/R/odds.ratio.r&lt;/a&gt;, permet de se faciliter la vie. On peut lui passer soit le r&#233;sultat d'une r&#233;gression logistique ex&#233;cut&#233;e avec &lt;code&gt;glm(family=binomial(logit))&lt;/code&gt; soit le r&#233;sultat d'une r&#233;gression multinomiale r&#233;alis&#233;e avec &lt;code&gt;multinom()&lt;/code&gt;. Elle affichera les odds ratio, leur intervalles de confiance ainsi que la valeur de &lt;i&gt;p&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;On peut pr&#233;ciser la confiance de l'intervalle avec le param&#232;tre &lt;code&gt;level&lt;/code&gt; ainsi que le nombre de d&#233;cimale &#224; afficher pour les odds ratio avec &lt;code&gt;digits&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Transformer les valeurs manquantes en un facteur</title>
		<link>https://www.joseph.larmarange.net/Transformer-les-valeurs-manquantes</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/Transformer-les-valeurs-manquantes</guid>
		<dc:date>2013-10-29T10:49:04Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>

		<description>
&lt;p&gt;La fonction addNAstr est maintenant disponible dans le package questionr (&#224; partir de la version 0.3.0). &lt;br class='autobr' /&gt; Sous R, les valeurs manquantes sont renseign&#233;s via la valeur NA. &lt;br class='autobr' /&gt;
Selon les fonctions, on peut indiquer &#224; R de prendre en compte ou non ces valeurs manquantes. &lt;br class='autobr' /&gt;
Dans le cas d'une variable de type facteur, on peut vouloir consid&#233;rer ces valeurs manquantes comme une modalit&#233; suppl&#233;mentaire. Cela se fait via la fonction addNA&#160;: &lt;br class='autobr' /&gt;
df$x &lt;- addNA(df$x) &lt;br class='autobr' /&gt;
Dans ce cas particulier, R va&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Divers-" rel="directory"&gt;Divers&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;La fonction &lt;code&gt;addNAstr&lt;/code&gt; est maintenant disponible dans le package &lt;a href=&#034;http://cran.r-project.org/web/packages/questionr/index.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;questionr&lt;/a&gt; (&#224; partir de la version 0.3.0).&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Sous R, les valeurs manquantes sont renseign&#233;s via la valeur &lt;code&gt;NA&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Selon les fonctions, on peut indiquer &#224; R de prendre en compte ou non ces valeurs manquantes.&lt;/p&gt;
&lt;p&gt;Dans le cas d'une variable de type facteur, on peut vouloir consid&#233;rer ces valeurs manquantes comme une modalit&#233; suppl&#233;mentaire. Cela se fait via la fonction &lt;code&gt;addNA&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;'&gt;&lt;code&gt;df$x &lt;- addNA(df$x)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans ce cas particulier, R va ajouter un niveau suppl&#233;mentaire au facteur &lt;code&gt;x&lt;/code&gt;, ce niveau ayant pour nom la valeur manquante, c'est-&#224;-dire &lt;code&gt;NA&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si cela ne pose pas de probl&#232;me pour une grande majorit&#233; de fonctions, certaines auront des soucis &#224; g&#233;rer la pr&#233;sence d'une valeur manquante dans la liste des modalit&#233;s.&lt;/p&gt;
&lt;p&gt;Une solution consiste alors donner une valeur textuelle &#224; cette modalit&#233; additionnelle (par exemple &lt;i&gt;manquant&lt;/i&gt;). Une version am&#233;lior&#233;e de la fonction &lt;code&gt;addNA&lt;/code&gt; a m&#234;me &#233;t&#233; propos&#233;e sur &lt;a href=&#034;http://stackoverflow.com/a/5817181&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://stackoverflow.com/a/5817181&lt;/a&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Que j'ai l&#233;g&#232;rement modifi&#233;e pour permettre d'indiquer la chaine de (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;PHP&#034;&gt;&lt;code&gt;addNAstr &lt;- function (x, ifany = FALSE, as.string = TRUE)
{ if (!is.factor(x)) x &lt;- factor(x) if (ifany &amp; !any(is.na(x))) return(x) ll &lt;- levels(x) if (!any(is.na(ll))) ll &lt;- c(ll, NA) x &lt;- factor(x, levels = ll, exclude = NULL) if (is.character(as.string)) { s &lt;- as.string as.string &lt;- TRUE } else s &lt;- &#034;NA&#034; if(as.string) levels(x)[is.na(levels(x))] &lt;- s x
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Que j'ai l&#233;g&#232;rement modifi&#233;e pour permettre d'indiquer la chaine de caract&#232;res de son choix au param&#232;tre &lt;code&gt;as.string&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Rechercher et visualiser les doublons</title>
		<link>https://www.joseph.larmarange.net/Rechercher-et-visualiser-les</link>
		<guid isPermaLink="true">https://www.joseph.larmarange.net/Rechercher-et-visualiser-les</guid>
		<dc:date>2013-02-27T08:08:11Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Joseph LARMARANGE</dc:creator>


		<dc:subject>R (logiciel)</dc:subject>
		<dc:subject>Programmation / Code</dc:subject>

		<description>
&lt;p&gt;Pour identifier des donn&#233;es dupliqu&#233;es dans R, on a usuellement recours &#224; la fonction duplicated(). &lt;br class='autobr' /&gt;
Or, la fonction duplicated() retourne les positions des lignes dupliqu&#233;es, &#224; partir de la seconde occurence de chaque ligne&#160;: &lt;br class='autobr' /&gt; &gt; (df &lt;- data.frame(x=c(&#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;a&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;,&#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;b&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;,&#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;c&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;,&#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;b&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;,&#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;d&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;,&#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;c&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;),y=c(1,2,3,2,4,3))) x y 1 a 1 2 b 2 3 c 3 4 b 2 5 d 4 6 c 3 &gt; duplicated(df) [1] FALSE FALSE FALSE TRUE FALSE TRUE &lt;br class='autobr' /&gt;
Si cela est fort utile pour supprimer les doublons (puisque seules les&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.joseph.larmarange.net/-Divers-" rel="directory"&gt;Divers&lt;/a&gt;

/ 
&lt;a href="https://www.joseph.larmarange.net/+-R-logiciel-+" rel="tag"&gt;R (logiciel)&lt;/a&gt;, 
&lt;a href="https://www.joseph.larmarange.net/+-programmation-code-+" rel="tag"&gt;Programmation / Code&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Pour identifier des donn&#233;es dupliqu&#233;es dans R, on a usuellement recours &#224; la fonction &lt;code&gt;duplicated()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Or, la fonction &lt;code&gt;duplicated()&lt;/code&gt; retourne les positions des lignes dupliqu&#233;es, &#224; partir de la seconde occurence de chaque ligne&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;R&#034;&gt;&lt;code&gt;&gt; (df &lt;- data.frame(x=c(&#034;a&#034;,&#034;b&#034;,&#034;c&#034;,&#034;b&#034;,&#034;d&#034;,&#034;c&#034;),y=c(1,2,3,2,4,3))) x y 1 a 1 2 b 2 3 c 3 4 b 2 5 d 4 6 c 3 &gt; duplicated(df) [1] FALSE FALSE FALSE TRUE FALSE TRUE&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si cela est fort utile pour supprimer les doublons (puisque seules les secondes occurrences sont identifi&#233;es), on peut avoir besoin d'identifier l'ensemble des lignes concern&#233;es (y compris donc les premi&#232;res occurrences), si l'on souhaite par exemple visualiser les doublons, autrement dit d'avoir une fonction &lt;code&gt;duplicated2()&lt;/code&gt; dont le r&#233;sultat serait&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;R&#034;&gt;&lt;code&gt;&gt; duplicated2(df) [1] FALSE TRUE TRUE TRUE FALSE TRUE&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Merci au &lt;a href=&#034;http://forums.cirad.fr/logiciel-R/viewtopic.php?p=2968&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;groupe des utilisateurs du logiciel R du CIRAD&lt;/a&gt;, voici la solution&#160;:&lt;/p&gt;
&lt;div class='precode'&gt;&lt;pre dir='ltr' style='text-align: left;' class=&#034;php&#034;&gt;&lt;code&gt;duplicated2 &lt;- function(x){ if (sum(dup &lt;- duplicated(x))==0) return(dup) if (class(x) %in% c(&#034;data.frame&#034;,&#034;matrix&#034;)) duplicated(rbind(x[dup,],x))[-(1:sum(dup))] else duplicated(c(x[dup],x))[-(1:sum(dup))] }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
