{"id":9600,"date":"2022-09-19T18:48:01","date_gmt":"2022-09-19T13:18:01","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/"},"modified":"2022-09-19T18:48:01","modified_gmt":"2022-09-19T13:18:01","slug":"solved-how-can-i-conditionally-format-the-letters-in-a-datatable","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/","title":{"rendered":"[Solved] &#8220;How can I conditionally format the letters in a datatable?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-57665956\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"57665956\" data-parentid=\"57665109\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Currently, <code>color = ifelse('VARIACION'&lt; -0,'#ed1c16','#0ca649')<\/code> is evaluating whether the string VARIACION is less than 0. While that is not a particularly meaningful question, R does indeed evaluates that to FALSE (in all your cases) and thus prints things in green as a result.<\/p>\n<p>More generally, you do not want to use <code>ifelse()<\/code> in this case. Use something like <code>formatStyle('VARIACION',  color = styleInterval(0, c(\"red\", \"green\"))<\/code> instead. <\/p>\n<p>The key here is <code>styleInterval()<\/code> which defines cut points and colors for intervals. When you put one cut point (e.g. at 0) and two colors, it uses the first color before the cut point and the second after. You can have multiple intervals though (cut points &gt; 1). You just need one more color than you have cut points (e.g., try something like <code>color = styleInterval(c(0,300000), c(\"red\", \"green\",\"blue\")))<\/code> in my example below).<\/p>\n<p>Below is a working example modified from <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/rstudio.github.io\/DT\/functions.html\">https:\/\/rstudio.github.io\/DT\/functions.html<\/a>:<\/p>\n<pre><code>library(DT)\nm = cbind(matrix(rnorm(60, 1e5, 1e6), 20), runif(20), rnorm(20, 100))\nm[, 1:3] = round(m[, 1:3])\nm[, 4:5] = round(m[, 4:5], 7)\ncolnames(m) = head(LETTERS, ncol(m))\nhead(m)\n\ndatatable(m) %&gt;% \n  formatCurrency(c('A', 'C')) %&gt;% \n  formatStyle('A',  color = styleInterval(0, c(\"red\", \"green\")))\n<\/code><\/pre>\n<p>Note further that a more proper implementation using <code>ifelse()<\/code> still fails since it returns a vector and the color option doesn&#8217;t want a vector (as a result it does not throw an error but also doesn&#8217;t plot). So again, don&#8217;t use <code>ifelse()<\/code> here.<\/p>\n<pre><code>#this fails\ndatatable(m) %&gt;% \n  formatCurrency(c('A', 'C')) %&gt;% \n  formatStyle('A',  color = ifelse(m[,\"A\"] &lt; 0, \"red\", \"green\"))\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved &#8220;How can I conditionally format the letters in a datatable? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Currently, color = ifelse(&#8216;VARIACION'&lt; -0,&#8217;#ed1c16&#8242;,&#8217;#0ca649&#8217;) is evaluating whether the string VARIACION is less than 0. While that is not a particularly meaningful question, R does indeed evaluates that to FALSE (in all your cases) and thus prints things in green as a result. More generally, you do not want to use ifelse() in this &#8230; <a title=\"[Solved] &#8220;How can I conditionally format the letters in a datatable?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\" aria-label=\"More on [Solved] &#8220;How can I conditionally format the letters in a datatable?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[321],"class_list":["post-9600","post","type-post","status-publish","format-standard","hentry","category-solved","tag-r"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] &quot;How can I conditionally format the letters in a datatable? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] &quot;How can I conditionally format the letters in a datatable? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Currently, color = ifelse(&#039;VARIACION&#039;&lt; -0,&#039;#ed1c16&#039;,&#039;#0ca649&#039;) is evaluating whether the string VARIACION is less than 0. While that is not a particularly meaningful question, R does indeed evaluates that to FALSE (in all your cases) and thus prints things in green as a result. More generally, you do not want to use ifelse() in this ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-19T13:18:01+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] &#8220;How can I conditionally format the letters in a datatable?\",\"datePublished\":\"2022-09-19T13:18:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\"},\"wordCount\":201,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"r\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\",\"name\":\"[Solved] \\\"How can I conditionally format the letters in a datatable? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-19T13:18:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] &#8220;How can I conditionally format the letters in a datatable?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] \"How can I conditionally format the letters in a datatable? - JassWeb","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:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] \"How can I conditionally format the letters in a datatable? - JassWeb","og_description":"[ad_1] Currently, color = ifelse('VARIACION'&lt; -0,'#ed1c16','#0ca649') is evaluating whether the string VARIACION is less than 0. While that is not a particularly meaningful question, R does indeed evaluates that to FALSE (in all your cases) and thus prints things in green as a result. More generally, you do not want to use ifelse() in this ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/","og_site_name":"JassWeb","article_published_time":"2022-09-19T13:18:01+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] &#8220;How can I conditionally format the letters in a datatable?","datePublished":"2022-09-19T13:18:01+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/"},"wordCount":201,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["r"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/","url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/","name":"[Solved] \"How can I conditionally format the letters in a datatable? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-19T13:18:01+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-conditionally-format-the-letters-in-a-datatable\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] &#8220;How can I conditionally format the letters in a datatable?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=9600"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9600\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=9600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=9600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=9600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}