{"id":2994,"date":"2015-04-04T10:02:00","date_gmt":"2015-04-04T09:02:00","guid":{"rendered":"https:\/\/abcdr.guyader.pro\/?p=2994"},"modified":"2018-04-08T00:01:21","modified_gmt":"2018-04-07T23:01:21","slug":"selectionner-des-sous-ensembles-de-jeux-de-donnees-avec-la-fonction-subset","status":"publish","type":"post","link":"https:\/\/thinkr.fr\/abcdr\/selectionner-des-sous-ensembles-de-jeux-de-donnees-avec-la-fonction-subset\/","title":{"rendered":"S\u00e9lectionner des sous-ensembles de jeux de donn\u00e9es avec la fonction subset"},"content":{"rendered":"<p>Si l\u2019on veut s\u00e9lectionner un sous-ensemble d\u2019un jeu de donn\u00e9es \u00e0 partir d\u2019une condition simple \u00e9tendue, d\u2019une condition multiple exclusive, d\u2019une condition multiple inclusive, d\u2019une condition multiple exclusive \u00e9tendue, ou d\u2019une condition multiple inclusive \u00e9tendue, il faut utiliser les op\u00e9rateurs logiques OU et\/ou ET.<br \/>Dans R, le ET s\u2019\u00e9crit \u00ab &amp; \u00bb, et le OU s\u2019\u00e9crit \u00ab | \u00bb.<\/p>\n<p>Une condition simple porte sur une seule colonne.<br \/>Une condition multiple porte sur plusieurs colonnes \u00e0 la fois (comme pour les r\u00e9gressions).<br \/>Une condition \u00e9tendue porte sur l\u2019union de plusieurs modalit\u00e9s\/crit\u00e8res au sein d\u2019une m\u00eame colonne : elle utilise l\u2019op\u00e9rateur logique OU.<br \/>Une condition exclusive est une condition multiple qui porte sur l\u2019intersection de sous-ensembles : elle utiilise l\u2019op\u00e9rateur logique ET.<br \/>Une condition inclusive est une condition multiple qui porte sur l\u2019union de sous-ensembles : elle utilise l\u2019op\u00e9rateur logique OU.<br \/>Une condition simple ne peut, par nature, ni \u00eatre exclusive, ni \u00eatre inclusive.<\/p>\n<p>Pour une s\u00e9lection simple \u00e9tendue, on utilisera l\u2019op\u00e9rateur logique OU.<br \/>Pour une s\u00e9lection multiple exclusive, on utilisera l\u2019op\u00e9rateur logique ET.<br \/>Pour une s\u00e9lection multiple inclusive, on utilisera l\u2019op\u00e9rateur logique OU.<br \/>Pour une s\u00e9lection multiple exclusive \u00e9tendue, on utilisera les op\u00e9rateurs logiques OU et ET.<br \/>Pour une s\u00e9lection multiple inclusive \u00e9tendue, on utilisera l\u2019op\u00e9rateur logique OU.<\/p>\n<p><\/p>\n<pre><code><br \/><br \/>data(iris)<br \/>head(Iris)<br \/>summary(iris)<br \/><br \/>### Exemple de s\u00e9lection simple \u00e9tendue sur une variable qualitative ###<br \/># Il existe dans ce jeu de donn\u00e9es 3 esp\u00e8ces : setosa, versicolor et virginica.<br \/># On veut s\u00e9lectionner le sous-ensemble concernant les esp\u00e8ces setosa OU versicolor.<br \/>iris2 = subset(iris, Species == \"setosa\" | Species == \"versicolor\") # on peut soit passer par la fonction 'subset'<br \/>iris2 = iris[iris$Species == \"setosa\" | iris$Species == \"versicolor\",] # ou soit passer par les conditions entre crochets<br \/>iris2<br \/><br \/># En revanche, on ne peut pas utiliser cette syntaxe :<br \/>iris2 = subset(iris, Species == c(\"setosa\",\"versicolor\"))<br \/># Ni celle-ci :<br \/>iris2 = iris[iris$Species == c(\"setosa\",\"versicolor\")]<br \/># Car je ne sais pas pourquoi, mais ces syntaxes ne s\u00e9lectionnent qu'une partie du sous-ensemble d\u00e9sir\u00e9. Cette partie a un nombre de lignes \u00e9gal au nombre de lignes qui auraient \u00e9t\u00e9 s\u00e9lectionn\u00e9es par une condition portant sur une seule modalit\u00e9.<br \/>dim(iris2) # On a 50 lignes, alors qu'on devrait en avoir 100 !<br \/><br \/><br \/>### Exemple de s\u00e9lection simple \u00e9tendue sur une variable quantitative ###<br \/># On veut s\u00e9lectionner les fleurs dont la longueur du p\u00e9tale est inf\u00e9rieure \u00e0 1,5 cm OU sup\u00e9rieure \u00e0 5 cm.<br \/>iris3 = subset(iris, Petal.Length &lt;= 1.5 | Petal.Length &gt;= 5)<br \/>iris3 = iris[iris$Petal.Length &lt;= 1.5 | iris$Petal.Length &gt;= 5,]<br \/>iris3<br \/><br \/><br \/>### Exemple de s\u00e9lection multiple exclusive ###<br \/># On veut s\u00e9lectionner les fleurs de l'esp\u00e8ce setosa ET dont la longueur du p\u00e9tale est inf\u00e9rieure \u00e0 1,5 cm.<br \/>iris4 = subset(iris, Species == \"setosa\" &amp; Petal.Length &lt;= 1.5)<br \/>iris4 = iris[iris$Species == \"setosa\" &amp; iris$Petal.Length &lt;= 1.5,]<br \/>iris4<br \/><br \/><br \/>### Exemple de s\u00e9lection multiple inclusive ###<br \/># On veut s\u00e9lectionner les fleurs de l'esp\u00e8ce setosa OU celles dont la longueur du p\u00e9tale est sup\u00e9rieure \u00e0 5 cm.<br \/>iris5 = subset(iris, Species == \"setosa\" | Petal.Length &gt;= 5)<br \/>iris5 = iris[iris$Species == \"setosa\" | iris$Petal.Length &gt;= 5,]<br \/>iris5<br \/><br \/><br \/>### Exemple de s\u00e9lection multiple exclusive \u00e9tendue ###<br \/># On veut s\u00e9lectionner les fleurs de l'esp\u00e8ce versicolor OU virginica ET dont la longueur du p\u00e9tale est sup\u00e9rieure \u00e0 5 cm.<br \/># Attentions, il faut alors utiliser des parenth\u00e8ses !<br \/>iris6 = subset(iris, (Species == \"versicolor\" | Species == \"virginica\") &amp; Petal.Length &gt;= 5)<br \/>iris6 = iris[(iris$Species == \"versicolor\" | iris$Species == \"virginica\") &amp; iris$Petal.Length &gt;= 5,]<br \/>iris6<br \/><br \/><br \/>### Exemple de s\u00e9lection multiple inclusive \u00e9tendue ###<br \/># On veut s\u00e9lectionner les fleurs de l'esp\u00e8ce versicolor OU virginica OU celles dont la longueur du p\u00e9tale est inf\u00e9rieure \u00e0 1,5 cm.<br \/># Pas forc\u00e9ment besoin de parenth\u00e8ses ici.<br \/>iris7 = subset(iris, Species == \"versicolor\" | Species == \"virginica\" | Petal.Length &lt;= 1.5)<br \/>iris7 = iris[iris$Species == \"versicolor\" | iris$Species == \"virginica\" | iris$Petal.Length &lt;= 1.5,]<br \/>iris7<br \/> <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Si l\u2019on veut s\u00e9lectionner un sous-ensemble d\u2019un jeu de donn\u00e9es \u00e0 partir d\u2019une condition simple \u00e9tendue, d\u2019une condition multiple exclusive, d\u2019une condition multiple inclusive, d\u2019une condition multiple exclusive \u00e9tendue, ou d\u2019une condition multiple inclusive \u00e9tendue, il faut utiliser les op\u00e9rateurs logiques OU et\/ou ET.Dans R, le ET s\u2019\u00e9crit \u00ab &amp; \u00bb, et le OU s\u2019\u00e9crit \u00ab | \u00bb. Une condition simple porte sur une seule colonne.Une condition multiple porte sur plusieurs colonnes \u00e0 la fois (comme pour les r\u00e9gressions).Une condition \u00e9tendue porte sur l\u2019union de plusieurs modalit\u00e9s\/crit\u00e8res au sein d\u2019une m\u00eame colonne : elle utilise l\u2019op\u00e9rateur logique OU.Une condition exclusive est une condition multiple qui<a class=\"more-link\" href=\"https:\/\/thinkr.fr\/abcdr\/selectionner-des-sous-ensembles-de-jeux-de-donnees-avec-la-fonction-subset\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_399453572_399453572":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,12,18,23],"tags":[],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-stan","4":"post-2994","6":"format-standard","7":"category-algorithmique","8":"category-manipulation-de-donnees","9":"category-programmer-avec-r","10":"category-transformation-de-donnees"},"acf":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9O7Sx-Mi","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/2994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/comments?post=2994"}],"version-history":[{"count":2,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/2994\/revisions"}],"predecessor-version":[{"id":4250,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/2994\/revisions\/4250"}],"wp:attachment":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/media?parent=2994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/categories?post=2994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/tags?post=2994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}