{"id":473,"date":"2023-07-29T19:19:54","date_gmt":"2023-07-29T19:19:54","guid":{"rendered":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/"},"modified":"2023-07-29T19:19:54","modified_gmt":"2023-07-29T19:19:54","slug":"heatmap-r-ggplot2","status":"publish","type":"post","link":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/","title":{"rendered":"Hoe je een heatmap in r maakt met ggplot2"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2.<\/span><\/p>\n<h3> <strong><span style=\"color: #000000;\">Voorbeeld: een hittekaart maken in R<\/span><\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Om een heatmap te maken, gebruiken we de ingebouwde R-dataset <strong>mtcars<\/strong> .<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#view first six rows of <em>mtcars\n<\/em><\/span>head(mtcars)\n\n# mpg cyl disp hp drat wt qsec vs am gear carb\n#Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4\n#Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4\n#Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1\n#Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1\n#Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2\n#Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Momenteel heeft <strong>mtcars<\/strong> een breed formaat, maar we moeten het in een lang formaat samenvoegen om de heatmap te maken.<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load <em>reshape2<\/em> package to use melt() function<\/span>\nlibrary(reshape2)\n\n<span style=\"color: #008080;\">#melt mtcars into long format<\/span>\nmelt_mtcars &lt;- melt(mtcars)\n\n<span style=\"color: #008080;\">#add column for car name<\/span>\nmelt_mtcars$car &lt;- rep(row.names(mtcars), 11)\n\n<span style=\"color: #008080;\">#view first six rows of <em>melt_mtcars<\/em><\/span>\nhead(melt_mtcars)\n\n# variable value char\n#1 mpg 21.0 Mazda RX4\n#2 mpg 21.0 Mazda RX4 Wag\n#3 mpg 22.8 Datsun 710\n#4 mpg 21.4 Hornet 4 Drive\n#5 mpg 18.7 Hornet Sportabout\n#6 mpg 18.1 Valiant<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">We kunnen de volgende code gebruiken om de heatmap in ggplot2 te maken:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong>library(ggplot2)\n\nggplot(melt_mtcars, aes(variable, char)) +\n  geom_tile(aes(fill = value),<\/strong> <strong>color = \"white\") +\n  scale_fill_gradient(low = \"white\",<\/strong> <strong>high = \"red\")<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Omdat de waarden van <em>disp<\/em> veel groter zijn dan de waarden van alle andere variabelen in het dataframe, is het helaas moeilijk om de kleurvariatie van de andere variabelen te zien.<\/span><\/p>\n<p> <span style=\"color: #000000;\">E\u00e9n manier om dit probleem op te lossen is door de waarden van elke variabele opnieuw te schalen van 0 naar 1 met behulp van de functie <strong>rescale()<\/strong> in het scales()-pakket en de <strong>ddply()-<\/strong> functie in het plyr()-pakket:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#load libraries<\/span>\nlibrary(plyr)\nlibrary(scales)\n\n<span style=\"color: #008080;\">#rescale values for all variables in melted data frame<\/span>\nmelt_mtcars &lt;- ddply(melt_mtcars, .(variable), transform, rescale = rescale(value))\n\n<span style=\"color: #008080;\">#create heatmap using rescaled values<\/span>\nggplot(melt_mtcars, aes(variable, char)) +\n  geom_tile(aes(fill = rescale), color = \"white\") +\n  scale_fill_gradient(low = \"white\", high = \"red\")\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">We kunnen ook de kleuren van de heatmap wijzigen door de kleuren te wijzigen die worden gebruikt in het scale_fill_gradient() argument:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#create heatmap using blue color scale\n<\/span>ggplot(melt_mtcars, aes(variable, char)) +\n  geom_tile(aes(fill = rescale), color = \"white\") +\n  scale_fill_gradient(low = \"white\", high = \"steelblue\")<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Houd er rekening mee dat de heatmap momenteel is gecategoriseerd op autonaam. We zouden in plaats daarvan de heatmap kunnen ordenen op basis van de waarden van een van de variabelen zoals <em>mpg<\/em> met behulp van de volgende code:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define car name as a new column, then order by <em>mpg<\/em> descending\n<\/span>mtcars$car &lt;- row.names(mtcars)\nmtcars$car &lt;- with(mtcars, reorder(car, mpg))\n\n<span style=\"color: #008080;\">#melt mtcars into long format\n<\/span>melt_mtcars &lt;- melt(mtcars)\n\n<span style=\"color: #008080;\">#rescale values for all variables in melted data frame\n<\/span>melt_mtcars &lt;- ddply(melt_mtcars, .(variable), transform, rescale = rescale(value))\n\n<span style=\"color: #008080;\">#create heatmap using rescaled values\n<\/span>ggplot(melt_mtcars, aes(variable, char)) +\n  geom_tile(aes(fill = rescale), color = \"white\") +\n  scale_fill_gradient(low = \"white\", high = \"steelblue\")<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Om de heatmap te sorteren door <em>mpg<\/em> te verhogen, gebruik je eenvoudigweg <strong>-mpg<\/strong> in het reorder() argument:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#define car name as a new column, then order by mpg descending\n<\/span>mtcars$car &lt;- row.names(mtcars)\nmtcars$car &lt;- with(mtcars, reorder(car, <span style=\"color: #800080;\">-mpg<\/span> ))\n\n<span style=\"color: #008080;\">#melt mtcars into long format\n<\/span>melt_mtcars &lt;- melt(mtcars)\n\n<span style=\"color: #008080;\">#rescale values for all variables in melted data frame\n<\/span>melt_mtcars &lt;- ddply(melt_mtcars, .(variable), transform, rescale = rescale(value))\n\n<span style=\"color: #008080;\">#create heatmap using rescaled values\n<\/span>ggplot(melt_mtcars, aes(variable, char)) +\n  geom_tile(aes(fill = rescale), color = \"white\") +\n  scale_fill_gradient(low = \"white\", high = \"steelblue\")<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Ten slotte kunnen we de x- en y-aslabels verwijderen, evenals de legenda, als het ons niet bevalt hoe het eruit ziet met behulp van de labs() en thema() argumenten:<\/span><\/p>\n<pre style=\"background-color: #e5e5e5; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#create heatmap with no axis labels or legend\n<\/span>ggplot(melt_mtcars, aes(variable, char)) +\n  geom_tile(aes(fill = rescale), color = \"white\") +\n  scale_fill_gradient(low = \"white\", high = \"steelblue\") +\n  <span style=\"color: #800080;\">labs(x = \"\", y = \"\") +\n  theme(legend.position = \"none\")<\/span><\/strong><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2. Voorbeeld: een hittekaart maken in R Om een heatmap te maken, gebruiken we de ingebouwde R-dataset mtcars . #view first six rows of mtcars head(mtcars) # mpg cyl disp hp drat wt qsec vs am gear carb #Mazda RX4 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-473","post","type-post","status-publish","format-standard","hentry","category-gids"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Een hittekaart maken in R met ggplot2 - Statorials<\/title>\n<meta name=\"description\" content=\"In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Een hittekaart maken in R met ggplot2 - Statorials\" \/>\n<meta property=\"og:description\" content=\"In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-29T19:19:54+00:00\" \/>\n<meta name=\"author\" content=\"Dr.benjamin anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr.benjamin anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/\",\"url\":\"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/\",\"name\":\"Een hittekaart maken in R met ggplot2 - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/nl\/#website\"},\"datePublished\":\"2023-07-29T19:19:54+00:00\",\"dateModified\":\"2023-07-29T19:19:54+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\"},\"description\":\"In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Thuis\",\"item\":\"https:\/\/statorials.org\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hoe je een heatmap in r maakt met ggplot2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/nl\/#website\",\"url\":\"https:\/\/statorials.org\/nl\/\",\"name\":\"Statorials\",\"description\":\"Uw gids voor statistische competentie\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/nl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219\",\"name\":\"Dr.benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr.benjamin anderson\"},\"description\":\"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder\",\"sameAs\":[\"http:\/\/statorials.org\/nl\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Een hittekaart maken in R met ggplot2 - Statorials","description":"In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/","og_locale":"de_DE","og_type":"article","og_title":"Een hittekaart maken in R met ggplot2 - Statorials","og_description":"In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2.","og_url":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/","og_site_name":"Statorials","article_published_time":"2023-07-29T19:19:54+00:00","author":"Dr.benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Dr.benjamin anderson","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/","url":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/","name":"Een hittekaart maken in R met ggplot2 - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/nl\/#website"},"datePublished":"2023-07-29T19:19:54+00:00","dateModified":"2023-07-29T19:19:54+00:00","author":{"@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219"},"description":"In deze tutorial wordt uitgelegd hoe u een heatmap in R maakt met behulp van ggplot2.","breadcrumb":{"@id":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/nl\/heatmap-r-ggplot2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Thuis","item":"https:\/\/statorials.org\/nl\/"},{"@type":"ListItem","position":2,"name":"Hoe je een heatmap in r maakt met ggplot2"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/nl\/#website","url":"https:\/\/statorials.org\/nl\/","name":"Statorials","description":"Uw gids voor statistische competentie","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/nl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/d4b8842173cca1bb62cdec41860e4219","name":"Dr.benjamin anderson","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/statorials.org\/nl\/#\/schema\/person\/image\/","url":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"http:\/\/statorials.org\/nl\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr.benjamin anderson"},"description":"Ik ben Benjamin, een gepensioneerde hoogleraar statistiek die nu een toegewijde Statorials-lesgever is. Ik heb uitgebreide ervaring en expertise op het gebied van statistiek en ik ben vastbesloten om mijn kennis te delen met studenten via Statorials. Lees verder","sameAs":["http:\/\/statorials.org\/nl"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/comments?post=473"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/posts\/473\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/media?parent=473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/categories?post=473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/nl\/wp-json\/wp\/v2\/tags?post=473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}