title: Why does R 3.6.0 return FALSE when evaluating the expression ("Dogs" < "cats")?
body: <p>I have some complicated code, but instead of showing you that, I am going to extract the essence of the problem.</p>
  
  <p>Evaluate: <code>"dogs" &lt; "cats"</code> … This should evaluate to <code>FALSE</code> and it does in R 3.6.</p>
  
  <p>Evaluate: <code>"Dogs" &lt; "cats"</code> … This should evaluate to <code>TRUE</code> because the ASCII code for "D" is 68 and the ASCII code for "c" is 99. Since 68 &lt; 99, <code>"Dogs" &lt; "cats"</code> should evaluate to <code>TRUE</code>, but it does not in R 3.6.0. However, when I tried using the Console window on the <a href="https://datacamp.com" rel="noreferrer">https://datacamp.com</a> website, the expression <code>"Dogs" &lt; "cats"</code> returned <code>TRUE</code> and the expression <code>"dogs" &lt; "Cats"</code> returned <code>FALSE</code> - as expected.</p>
  
  <p>Hence, my question is, why does R 3.6.0 return <code>FALSE</code> for (<code>"Dogs" &lt; "cats"</code>) ?</p>