{"id":3079,"date":"2015-07-08T10:18:33","date_gmt":"2015-07-08T09:18:33","guid":{"rendered":"https:\/\/abcdr.guyader.pro\/?p=3079"},"modified":"2018-04-08T00:01:36","modified_gmt":"2018-04-07T23:01:36","slug":"comment-appliquer-une-fonction-par-groupe-a-un-data-frame-et-retourner-un-data-frame-ddply","status":"publish","type":"post","link":"https:\/\/thinkr.fr\/abcdr\/comment-appliquer-une-fonction-par-groupe-a-un-data-frame-et-retourner-un-data-frame-ddply\/","title":{"rendered":"Comment appliquer une fonction par groupe \u00e0 un data.frame et retourner un data.frame ? : ddply"},"content":{"rendered":"<p>La fonction <b>ddply()<\/b>, faisant partie du package plyr, permet d\u2019appliquer une fonction \u00e0 des subdivisions d&rsquo;un data.frame<\/p>\n<pre><code><br \/>library(plyr) # On charge le package plyr\n\n<br \/># On construit un data.frame\n\ndfx &lt;- data.frame(\n\n\u00a0 \u00a0 group &lt;- c(rep('A', 8), rep('B', 15), rep('C', 6)),\n\n\u00a0 \u00a0 sex &lt;- sample(c(\"M\", \"F\"), size = 29, replace = TRUE),\n\n\u00a0 \u00a0 age &lt;- runif(n = 29, min = 18, max = 54))\n\n\n\nddply(dfx, .(group), summarize,\n\n\u00a0 \u00a0 \u00a0 mean = round(mean(age), 2),\n\n\u00a0 \u00a0 \u00a0 sd = round(sd(age), 2))\n\n# On obtient la moyenne et l'\u00e9cart type associ\u00e9 \u00e0 l\u2019\u00e2ge en fonction du groupe\n\n\n\nddply(dfx, .(group, sex), summarize,\n\n\u00a0 \u00a0 \u00a0 mean = round(mean(age), 2),\n\n\u00a0 \u00a0 \u00a0 sd = round(sd(age), 2))\n\n# On obtient la moyenne et l'\u00e9cart type de l\u2019\u00e2ge, en fonction du groupe et du sexe<br \/> <\/code><\/pre>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La fonction ddply(), faisant partie du package plyr, permet d\u2019appliquer une fonction \u00e0 des subdivisions d&rsquo;un data.frame library(plyr) # On charge le package plyr # On construit un data.frame dfx &lt;- data.frame( \u00a0 \u00a0 group &lt;- c(rep(&lsquo;A&rsquo;, 8), rep(&lsquo;B&rsquo;, 15), rep(&lsquo;C&rsquo;, 6)), \u00a0 \u00a0 sex &lt;- sample(c(\u00ab\u00a0M\u00a0\u00bb, \u00ab\u00a0F\u00a0\u00bb), size = 29, replace = TRUE), \u00a0 \u00a0 age &lt;- runif(n = 29, min = 18, max = 54)) ddply(dfx, .(group), summarize, \u00a0 \u00a0 \u00a0 mean = round(mean(age), 2), \u00a0 \u00a0 \u00a0 sd = round(sd(age), 2)) # On obtient la moyenne et l&rsquo;\u00e9cart type associ\u00e9 \u00e0 l\u2019\u00e2ge en fonction du groupe ddply(dfx, .(group, sex), summarize, \u00a0 \u00a0<a class=\"more-link\" href=\"https:\/\/thinkr.fr\/abcdr\/comment-appliquer-une-fonction-par-groupe-a-un-data-frame-et-retourner-un-data-frame-ddply\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":13,"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":[8,12],"tags":[],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-helene","4":"post-3079","6":"format-standard","7":"category-fonctions-utiles","8":"category-manipulation-de-donnees"},"acf":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9O7Sx-NF","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3079","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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/comments?post=3079"}],"version-history":[{"count":2,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3079\/revisions"}],"predecessor-version":[{"id":4259,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3079\/revisions\/4259"}],"wp:attachment":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/media?parent=3079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/categories?post=3079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/tags?post=3079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}