{"id":8126,"date":"2018-11-04T09:05:18","date_gmt":"2018-11-04T07:05:18","guid":{"rendered":"https:\/\/www.datanovia.com\/en\/?p=8126"},"modified":"2019-12-25T11:28:51","modified_gmt":"2019-12-25T09:28:51","slug":"cluster-analysis-in-r-simplified-and-enhanced","status":"publish","type":"post","link":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/","title":{"rendered":"Cluster Analysis in R Simplified and Enhanced"},"content":{"rendered":"<div id=\"rdoc\">\n<p>In R software, standard clustering methods (partitioning and hierarchical clustering) can be computed using the R packages <code>stats<\/code> and <code>cluster<\/code>. However the workflow, generally, requires multiple steps and multiple lines of R codes.<\/p>\n<p>This article describes some easy-to-use wrapper functions, in the <code>factoextra<\/code> R package, for simplifying and improving <strong>cluster analysis in R<\/strong>. These functions include:<\/p>\n<ol style=\"list-style-type: decimal;\">\n<li><em>get_dist<\/em>() &amp; <em>fviz_dist<\/em>() for computing and visualizing distance matrix between rows of a data matrix. Compared to the standard <em>dist<\/em>() function, get_dist() supports <em>correlation-based distance measures<\/em> including \u201cpearson\u201d, \u201ckendall\u201d and \u201cspearman\u201d methods.<\/li>\n<li><em>eclust<\/em>(): enhanced cluster analysis. It has several advantages:\n<ul>\n<li>It simplifies the workflow of clustering analysis<\/li>\n<li>It can be used to compute <a href=\"\/?p=7685\"><em>hierarchical clustering<\/em><\/a> and <a href=\"\/?p=7673\"><em>partititioning clustering<\/em><\/a> in a single line function call<\/li>\n<li>Compared to the standard partitioning functions (kmeans, pam, clara and fanny) which requires the user to specify the optimal number of clusters, the function eclust() computes automatically the <em>gap statistic<\/em> for estimating the right number of clusters.<\/li>\n<li>For hierarchical clustering, correlation-based metric is allowed<\/li>\n<li>It provides <a href=\"\/?p=8063#silhouette-coefficient\">silhouette information<\/a> for all partitioning methods and hierarchical clustering<\/li>\n<li>It creates beautiful graphs using ggplot2<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Contents:<\/p>\n<div id=\"TOC\">\n<ul>\n<li><a href=\"#required-packages\">Required packages<\/a><\/li>\n<li><a href=\"#data-preparation\">Data preparation<\/a><\/li>\n<li><a href=\"#distance-matrix-computation-and-visualization\">Distance matrix computation and visualization<\/a><\/li>\n<li><a href=\"#enhanced-clustering-analysis\">Enhanced clustering analysis<\/a><\/li>\n<\/ul>\n<\/div>\n<div class='dt-sc-hr-invisible-medium  '><\/div>\n<div class='dt-sc-ico-content type1'><div class='custom-icon' ><a href='https:\/\/www.datanovia.com\/en\/product\/practical-guide-to-cluster-analysis-in-r\/' target='_blank'><span class='fa fa-book'><\/span><\/a><\/div><h4><a href='https:\/\/www.datanovia.com\/en\/product\/practical-guide-to-cluster-analysis-in-r\/' target='_blank'> Related Book <\/a><\/h4>Practical Guide to Cluster Analysis in R<\/div>\n<div class='dt-sc-hr-invisible-medium  '><\/div>\n<div id=\"required-packages\" class=\"section level2\">\n<h2>Required packages<\/h2>\n<p>We\u2019ll use the factoextra package for an enhanced cluster analysis and visualization.<\/p>\n<ul>\n<li>Install factoextra:<\/li>\n<\/ul>\n<pre class=\"r\"><code>install.packages(\"factoextra\")<\/code><\/pre>\n<ul>\n<li>Load factoextra<\/li>\n<\/ul>\n<pre class=\"r\"><code>library(factoextra)<\/code><\/pre>\n<\/div>\n<div id=\"data-preparation\" class=\"section level2\">\n<h2>Data preparation<\/h2>\n<p>The built-in R dataset <strong>USArrests<\/strong> is used:<\/p>\n<pre class=\"r\"><code># Load and scale the dataset\r\ndata(\"USArrests\")\r\ndf &lt;- scale(USArrests)\r\nhead(df)<\/code><\/pre>\n<pre><code>##            Murder Assault UrbanPop     Rape\r\n## Alabama    1.2426   0.783   -0.521 -0.00342\r\n## Alaska     0.5079   1.107   -1.212  2.48420\r\n## Arizona    0.0716   1.479    0.999  1.04288\r\n## Arkansas   0.2323   0.231   -1.074 -0.18492\r\n## California 0.2783   1.263    1.759  2.06782\r\n## Colorado   0.0257   0.399    0.861  1.86497<\/code><\/pre>\n<\/div>\n<div id=\"distance-matrix-computation-and-visualization\" class=\"section level2\">\n<h2>Distance matrix computation and visualization<\/h2>\n<pre class=\"r\"><code>library(factoextra)\r\n# Correlation-based distance method\r\nres.dist &lt;- get_dist(df, method = \"pearson\")\r\nhead(round(as.matrix(res.dist), 2))[, 1:6]<\/code><\/pre>\n<pre><code>##            Alabama Alaska Arizona Arkansas California Colorado\r\n## Alabama       0.00   0.71    1.45     0.09       1.87     1.69\r\n## Alaska        0.71   0.00    0.83     0.37       0.81     0.52\r\n## Arizona       1.45   0.83    0.00     1.18       0.29     0.60\r\n## Arkansas      0.09   0.37    1.18     0.00       1.59     1.37\r\n## California    1.87   0.81    0.29     1.59       0.00     0.11\r\n## Colorado      1.69   0.52    0.60     1.37       0.11     0.00<\/code><\/pre>\n<pre class=\"r\"><code># Visualize the dissimilarity matrix\r\nfviz_dist(res.dist, lab_size = 8)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/cluster-analysis\/figures\/057-cluster-analysis-in-r-simplified-and-enhanced-distance-matrix-computation-visualization-1.png\" width=\"518.4\" \/><\/p>\n<div class=\"success\">\n<p>In the plot above, similar objects are close to one another. Red color corresponds to small distance and blue color indicates big distance between observation.<\/p>\n<\/div>\n<\/div>\n<div id=\"enhanced-clustering-analysis\" class=\"section level2\">\n<h2>Enhanced clustering analysis<\/h2>\n<p>The standard R code for computing hierarchical clustering looks like this:<\/p>\n<pre class=\"r\"><code># Load and scale the dataset\r\ndata(\"USArrests\")\r\ndf &lt;- scale(USArrests)\r\n\r\n# Compute dissimilarity matrix\r\nres.dist &lt;- dist(df, method = \"euclidean\")\r\n\r\n# Compute hierarchical clustering\r\nres.hc &lt;- hclust(res.dist, method = \"ward.D2\")\r\n\r\n# Visualize\r\nplot(res.hc, cex = 0.5)<\/code><\/pre>\n<p>In this section we\u2019ll describe the <em>eclust<\/em>() function [<em>factoextra<\/em> package] to simplify the workflow. The format is as follow:<\/p>\n<pre class=\"r\"><code>eclust(x, FUNcluster = \"kmeans\", hc_metric = \"euclidean\", ...)<\/code><\/pre>\n<div class=\"block\">\n<ul>\n<li>x: numeric vector, data matrix or data frame<\/li>\n<li>FUNcluster: a clustering function including \u201ckmeans\u201d, \u201cpam\u201d, \u201cclara\u201d, \u201cfanny\u201d, \u201chclust\u201d, \u201cagnes\u201d and \u201cdiana\u201d. Abbreviation is allowed.<\/li>\n<li>hc_metric: character string specifying the metric to be used for calculating dissimilarities between observations. Allowed values are those accepted by the function dist() [including \u201ceuclidean\u201d, \u201cmanhattan\u201d, \u201cmaximum\u201d, \u201ccanberra\u201d, \u201cbinary\u201d, \u201cminkowski\u201d] and correlation based distance measures [\u201cpearson\u201d, \u201cspearman\u201d or \u201ckendall\u201d]. Used only when FUNcluster is a hierarchical clustering function such as one of \u201chclust\u201d, \u201cagnes\u201d or \u201cdiana\u201d.<\/li>\n<li>\u2026: other arguments to be passed to FUNcluster.<\/li>\n<\/ul>\n<\/div>\n<p>In the following R code, we\u2019ll show some examples for enhanced k-means clustering and hierarchical clustering. Note that the same analysis can be done for PAM, CLARA, FANNY, AGNES and DIANA.<\/p>\n<pre class=\"r\"><code>library(\"factoextra\")\r\n\r\n# Enhanced k-means clustering\r\nres.km &lt;- eclust(df, \"kmeans\", nstart = 25)<\/code><\/pre>\n<pre><code>## Clustering k = 1,2,..., K.max (= 10): .. done\r\n## Bootstrapping, b = 1,2,..., B (= 100)  [one \".\" per sample]:\r\n## .................................................. 50 \r\n## .................................................. 100<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/cluster-analysis\/figures\/057-cluster-analysis-in-r-simplified-and-enhanced-eclust-1.png\" width=\"518.4\" \/><\/p>\n<pre class=\"r\"><code># Gap statistic plot\r\nfviz_gap_stat(res.km$gap_stat)<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/cluster-analysis\/figures\/057-cluster-analysis-in-r-simplified-and-enhanced-eclust-2.png\" width=\"518.4\" \/><\/p>\n<pre class=\"r\"><code># Silhouette plot\r\nfviz_silhouette(res.km)<\/code><\/pre>\n<pre><code>##   cluster size ave.sil.width\r\n## 1       1    8          0.39\r\n## 2       2   16          0.34\r\n## 3       3   13          0.37\r\n## 4       4   13          0.27<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/cluster-analysis\/figures\/057-cluster-analysis-in-r-simplified-and-enhanced-eclust-3.png\" width=\"518.4\" \/><\/p>\n<pre class=\"r\"><code># Optimal number of clusters using gap statistics\r\nres.km$nbclust<\/code><\/pre>\n<pre><code>## [1] 4<\/code><\/pre>\n<pre class=\"r\"><code># Print result\r\n res.km<\/code><\/pre>\n<pre><code>## K-means clustering with 4 clusters of sizes 8, 16, 13, 13\r\n## \r\n## Cluster means:\r\n##   Murder Assault UrbanPop    Rape\r\n## 1  1.412   0.874   -0.815  0.0193\r\n## 2 -0.489  -0.383    0.576 -0.2617\r\n## 3 -0.962  -1.107   -0.930 -0.9668\r\n## 4  0.695   1.039    0.723  1.2769\r\n## \r\n## Clustering vector:\r\n##        Alabama         Alaska        Arizona       Arkansas     California \r\n##              1              4              4              1              4 \r\n##       Colorado    Connecticut       Delaware        Florida        Georgia \r\n##              4              2              2              4              1 \r\n##         Hawaii          Idaho       Illinois        Indiana           Iowa \r\n##              2              3              4              2              3 \r\n##         Kansas       Kentucky      Louisiana          Maine       Maryland \r\n##              2              3              1              3              4 \r\n##  Massachusetts       Michigan      Minnesota    Mississippi       Missouri \r\n##              2              4              3              1              4 \r\n##        Montana       Nebraska         Nevada  New Hampshire     New Jersey \r\n##              3              3              4              3              2 \r\n##     New Mexico       New York North Carolina   North Dakota           Ohio \r\n##              4              4              1              3              2 \r\n##       Oklahoma         Oregon   Pennsylvania   Rhode Island South Carolina \r\n##              2              2              2              2              1 \r\n##   South Dakota      Tennessee          Texas           Utah        Vermont \r\n##              3              1              4              2              3 \r\n##       Virginia     Washington  West Virginia      Wisconsin        Wyoming \r\n##              2              2              3              3              2 \r\n## \r\n## Within cluster sum of squares by cluster:\r\n## [1]  8.32 16.21 11.95 19.92\r\n##  (between_SS \/ total_SS =  71.2 %)\r\n## \r\n## Available components:\r\n## \r\n##  [1] \"cluster\"      \"centers\"      \"totss\"        \"withinss\"    \r\n##  [5] \"tot.withinss\" \"betweenss\"    \"size\"         \"iter\"        \r\n##  [9] \"ifault\"       \"clust_plot\"   \"silinfo\"      \"nbclust\"     \r\n## [13] \"data\"         \"gap_stat\"<\/code><\/pre>\n<pre class=\"r\"><code> # Enhanced hierarchical clustering\r\n res.hc &lt;- eclust(df, \"hclust\") # compute hclust<\/code><\/pre>\n<pre><code>## Clustering k = 1,2,..., K.max (= 10): .. done\r\n## Bootstrapping, b = 1,2,..., B (= 100)  [one \".\" per sample]:\r\n## .................................................. 50 \r\n## .................................................. 100<\/code><\/pre>\n<pre class=\"r\"><code> fviz_dend(res.hc, rect = TRUE) # dendrogam<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/cluster-analysis\/figures\/057-cluster-analysis-in-r-simplified-and-enhanced-eclust-4.png\" width=\"518.4\" \/><\/p>\n<pre class=\"r\"><code> fviz_silhouette(res.hc) # silhouette plot<\/code><\/pre>\n<pre><code>##   cluster size ave.sil.width\r\n## 1       1   19          0.26\r\n## 2       2   19          0.28\r\n## 3       3   12          0.43<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/cluster-analysis\/figures\/057-cluster-analysis-in-r-simplified-and-enhanced-eclust-5.png\" width=\"518.4\" \/><\/p>\n<pre class=\"r\"><code> fviz_cluster(res.hc) # scatter plot<\/code><\/pre>\n<p><img decoding=\"async\" src=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/dn-tutorials\/cluster-analysis\/figures\/057-cluster-analysis-in-r-simplified-and-enhanced-eclust-6.png\" width=\"518.4\" \/><\/p>\n<p>It\u2019s also possible to specify the number of clusters as follow:<\/p>\n<pre class=\"r\"><code>eclust(df, \"kmeans\", k = 4)<\/code><\/pre>\n<\/div>\n<\/div>\n<p><!--end rdoc--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In R software, standard clustering methods (partitioning and hierarchical clustering) can be computed using the R packages stats and cluster. However the workflow, generally, requires multiple steps and multiple lines [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7936,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rating_form_position":"","rating_results_position":"","mr_structured_data_type":"","footnotes":""},"categories":[123],"tags":[],"class_list":["post-8126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cluster-analysis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cluster Analysis in R: Tips for Great Analysis and Visualization - Datanovia<\/title>\n<meta name=\"description\" content=\"This article describes some easy-to-use R functions for simplifying and improving cluster analysis in R. You will learn how to create great cluster plots\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cluster Analysis in R: Tips for Great Analysis and Visualization - Datanovia\" \/>\n<meta property=\"og:description\" content=\"This article describes some easy-to-use R functions for simplifying and improving cluster analysis in R. You will learn how to create great cluster plots\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/\" \/>\n<meta property=\"og:site_name\" content=\"Datanovia\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-04T07:05:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-25T09:28:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alboukadel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alboukadel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/\"},\"author\":{\"name\":\"Alboukadel\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e\"},\"headline\":\"Cluster Analysis in R Simplified and Enhanced\",\"datePublished\":\"2018-11-04T07:05:18+00:00\",\"dateModified\":\"2019-12-25T09:28:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/\"},\"wordCount\":467,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg\",\"articleSection\":[\"Cluster Analysis\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/\",\"url\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/\",\"name\":\"Cluster Analysis in R: Tips for Great Analysis and Visualization - Datanovia\",\"isPartOf\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg\",\"datePublished\":\"2018-11-04T07:05:18+00:00\",\"dateModified\":\"2019-12-25T09:28:51+00:00\",\"description\":\"This article describes some easy-to-use R functions for simplifying and improving cluster analysis in R. You will learn how to create great cluster plots\",\"breadcrumb\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage\",\"url\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg\",\"contentUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg\",\"width\":1024,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.datanovia.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cluster Analysis in R Simplified and Enhanced\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#website\",\"url\":\"https:\/\/www.datanovia.com\/en\/\",\"name\":\"Datanovia\",\"description\":\"Data Mining and Statistics for Decision Support\",\"publisher\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.datanovia.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#organization\",\"name\":\"Datanovia\",\"url\":\"https:\/\/www.datanovia.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png\",\"contentUrl\":\"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png\",\"width\":98,\"height\":99,\"caption\":\"Datanovia\"},\"image\":{\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e\",\"name\":\"Alboukadel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g\",\"caption\":\"Alboukadel\"},\"url\":\"https:\/\/www.datanovia.com\/en\/blog\/author\/kassambara\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cluster Analysis in R: Tips for Great Analysis and Visualization - Datanovia","description":"This article describes some easy-to-use R functions for simplifying and improving cluster analysis in R. You will learn how to create great cluster plots","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:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/","og_locale":"en_US","og_type":"article","og_title":"Cluster Analysis in R: Tips for Great Analysis and Visualization - Datanovia","og_description":"This article describes some easy-to-use R functions for simplifying and improving cluster analysis in R. You will learn how to create great cluster plots","og_url":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/","og_site_name":"Datanovia","article_published_time":"2018-11-04T07:05:18+00:00","article_modified_time":"2019-12-25T09:28:51+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg","type":"image\/jpeg"}],"author":"Alboukadel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alboukadel","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#article","isPartOf":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/"},"author":{"name":"Alboukadel","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e"},"headline":"Cluster Analysis in R Simplified and Enhanced","datePublished":"2018-11-04T07:05:18+00:00","dateModified":"2019-12-25T09:28:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/"},"wordCount":467,"commentCount":2,"publisher":{"@id":"https:\/\/www.datanovia.com\/en\/#organization"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage"},"thumbnailUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg","articleSection":["Cluster Analysis"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/","url":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/","name":"Cluster Analysis in R: Tips for Great Analysis and Visualization - Datanovia","isPartOf":{"@id":"https:\/\/www.datanovia.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage"},"thumbnailUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg","datePublished":"2018-11-04T07:05:18+00:00","dateModified":"2019-12-25T09:28:51+00:00","description":"This article describes some easy-to-use R functions for simplifying and improving cluster analysis in R. You will learn how to create great cluster plots","breadcrumb":{"@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#primaryimage","url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg","contentUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/10\/Bashir_en_Lozere_071.jpg","width":1024,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/www.datanovia.com\/en\/blog\/cluster-analysis-in-r-simplified-and-enhanced\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.datanovia.com\/en\/"},{"@type":"ListItem","position":2,"name":"Cluster Analysis in R Simplified and Enhanced"}]},{"@type":"WebSite","@id":"https:\/\/www.datanovia.com\/en\/#website","url":"https:\/\/www.datanovia.com\/en\/","name":"Datanovia","description":"Data Mining and Statistics for Decision Support","publisher":{"@id":"https:\/\/www.datanovia.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.datanovia.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.datanovia.com\/en\/#organization","name":"Datanovia","url":"https:\/\/www.datanovia.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png","contentUrl":"https:\/\/www.datanovia.com\/en\/wp-content\/uploads\/2018\/09\/datanovia-logo.png","width":98,"height":99,"caption":"Datanovia"},"image":{"@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/7767cf2bd5c91a1610c6eb53a0ff069e","name":"Alboukadel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.datanovia.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed3108646c5c7c3d188324ab972f96ad7d9975b41b94014d7f68257791be395a?s=96&d=mm&r=g","caption":"Alboukadel"},"url":"https:\/\/www.datanovia.com\/en\/blog\/author\/kassambara\/"}]}},"multi-rating":{"mr_rating_results":[]},"_links":{"self":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts\/8126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/comments?post=8126"}],"version-history":[{"count":2,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts\/8126\/revisions"}],"predecessor-version":[{"id":8128,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/posts\/8126\/revisions\/8128"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/media\/7936"}],"wp:attachment":[{"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/media?parent=8126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/categories?post=8126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.datanovia.com\/en\/wp-json\/wp\/v2\/tags?post=8126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}