File indexing completed on 2024-05-12 04:02:07

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.R</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (R Script) - Theme (Breeze Light)"/>
0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
0007 <span style="color:#607880;font-weight:bold">## R Script Sample File</span>
0008 <span style="color:#607880;font-weight:bold">## Source: http://www.rexamples.com</span>
0009 
0010 <span style="color:#607880;font-weight:bold">## Basics</span>
0011 a <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#b08000">42.24</span>
0012 a <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#b08000">42</span><span style="color:#0057ae">i</span>
0013 a <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#b08000">42</span><span style="color:#0057ae">L</span>
0014 a <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#b08000">42</span>
0015 A <span style="color:#006e28;font-weight:bold">&lt;-</span> a <span style="color:#3daee9">*</span> <span style="color:#b08000">2</span>  <span style="color:#898887"># R is case sensitive</span>
0016 <span style="color:#644a9b">print</span>(a)
0017 <span style="color:#644a9b">cat</span>(A, <span style="color:#bf0303">"</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">"</span>) <span style="color:#898887"># "84" is concatenated with "\n"</span>
0018 <span style="font-weight:bold">if</span>(A<span style="color:#3daee9">></span>a) <span style="color:#898887"># true, 84 > 42</span>
0019 {
0020   <span style="color:#644a9b">cat</span>(A, <span style="color:#bf0303">">"</span>, a, <span style="color:#bf0303">"</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">"</span>)
0021 }
0022 
0023 <span style="color:#607880;font-weight:bold">## Functions</span>
0024 Square <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="font-weight:bold">function</span>(x) {
0025   <span style="color:#644a9b">return</span>(x<span style="color:#3daee9">^</span><span style="color:#b08000">2</span>)
0026 }
0027 
0028 <span style="color:#644a9b">print</span>(<span style="color:#644a9b">Square</span>(<span style="color:#b08000">4</span>))
0029 <span style="color:#644a9b">print</span>(<span style="color:#644a9b">Square</span>(<span style="color:#0057ae">x=</span><span style="color:#b08000">4</span>)) <span style="color:#898887"># same thing</span>
0030 
0031 <span style="color:#644a9b">DoSomething</span>(<span style="color:#0057ae">color=</span><span style="color:#bf0303">"red"</span>,<span style="color:#0057ae">number=</span><span style="color:#b08000">55</span>)
0032 
0033 <span style="color:#607880;font-weight:bold">## Countdown</span>
0034 countdown <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="font-weight:bold">function</span>(from)
0035 {
0036   <span style="color:#644a9b">print</span>(from)
0037   <span style="font-weight:bold">while</span>(from<span style="color:#3daee9">!=</span><span style="color:#b08000">0</span>)
0038   {
0039     <span style="color:#644a9b">Sys.sleep</span>(<span style="color:#b08000">1</span>)
0040     from <span style="color:#006e28;font-weight:bold">&lt;-</span> from <span style="color:#3daee9">-</span> <span style="color:#b08000">1</span>
0041     <span style="color:#644a9b">print</span>(from)
0042   }
0043 }
0044 
0045 <span style="color:#644a9b">countdown</span>(<span style="color:#b08000">5</span>)
0046 
0047 <span style="color:#607880;font-weight:bold">## Reading user input</span>
0048 readinteger <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="font-weight:bold">function</span>()
0049 {
0050   n <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">readline</span>(<span style="color:#0057ae">prompt=</span><span style="color:#bf0303">"Enter an integer: "</span>)
0051   n <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">as.integer</span>(n)
0052   <span style="font-weight:bold">if</span> (<span style="color:#644a9b">is.na</span>(n)){
0053     n <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">readinteger</span>()
0054   }
0055   <span style="color:#644a9b">return</span>(n)
0056 }
0057 <span style="color:#644a9b">print</span>(<span style="color:#644a9b">readinteger</span>())
0058 
0059 readinteger <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="font-weight:bold">function</span>()
0060 {
0061   n <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">readline</span>(<span style="color:#0057ae">prompt=</span><span style="color:#bf0303">"Enter an integer: "</span>)
0062   <span style="font-weight:bold">if</span>(<span style="color:#3daee9">!</span><span style="color:#644a9b">grepl</span>(<span style="color:#bf0303">"^[0-9]+$"</span>,n))
0063   {
0064     <span style="color:#644a9b">return</span>(<span style="color:#644a9b">readinteger</span>())
0065   }
0066 
0067   <span style="color:#644a9b">return</span>(<span style="color:#644a9b">as.integer</span>(n))
0068 }
0069 <span style="color:#644a9b">print</span>(<span style="color:#644a9b">readinteger</span>())
0070 
0071 <span style="color:#607880;font-weight:bold">## Guess a random number game</span>
0072 readinteger <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="font-weight:bold">function</span>()
0073 {
0074   n <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">readline</span>(<span style="color:#0057ae">prompt=</span><span style="color:#bf0303">"Enter an integer: "</span>)
0075   <span style="font-weight:bold">if</span>(<span style="color:#3daee9">!</span><span style="color:#644a9b">grepl</span>(<span style="color:#bf0303">"^[0-9]+$"</span>,n))
0076   {
0077     <span style="color:#644a9b">return</span>(<span style="color:#644a9b">readinteger</span>())
0078   }
0079   <span style="color:#644a9b">return</span>(<span style="color:#644a9b">as.integer</span>(n))
0080 }
0081 
0082 <span style="color:#898887"># real program start here</span>
0083 
0084 num <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">round</span>(<span style="color:#644a9b">runif</span>(<span style="color:#b08000">1</span>) <span style="color:#3daee9">*</span> <span style="color:#b08000">100</span>, <span style="color:#0057ae">digits =</span> <span style="color:#b08000">0</span>)
0085 guess <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#3daee9">-</span><span style="color:#b08000">1</span>
0086 
0087 <span style="color:#644a9b">cat</span>(<span style="color:#bf0303">"Guess a number between 0 and 100.</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">"</span>)
0088 
0089 <span style="font-weight:bold">while</span>(guess <span style="color:#3daee9">!=</span> num)
0090 {
0091   guess <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">readinteger</span>()
0092   <span style="font-weight:bold">if</span> (guess <span style="color:#3daee9">==</span> num)
0093   {
0094     <span style="color:#644a9b">cat</span>(<span style="color:#bf0303">"Congratulations,"</span>, num, <span style="color:#bf0303">"is right.</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">"</span>)
0095   }
0096   <span style="font-weight:bold">else</span> <span style="font-weight:bold">if</span> (guess <span style="color:#3daee9">&lt;</span> num)
0097   {
0098     <span style="color:#644a9b">cat</span>(<span style="color:#bf0303">"It's bigger!</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">"</span>)
0099   }
0100   <span style="font-weight:bold">else</span> <span style="font-weight:bold">if</span>(guess <span style="color:#3daee9">></span> num)
0101   {
0102     <span style="color:#644a9b">cat</span>(<span style="color:#bf0303">"It's smaller!</span><span style="color:#3daee9">\n</span><span style="color:#bf0303">"</span>)
0103   }
0104 }
0105 
0106 <span style="color:#607880;font-weight:bold">## Lists</span>
0107 <span style="color:#644a9b">sum</span>(<span style="color:#b08000">0</span><span style="color:#3daee9">:</span><span style="color:#b08000">9</span>)
0108 <span style="color:#644a9b">append</span>(LETTERS[<span style="color:#b08000">1</span><span style="color:#3daee9">:</span><span style="color:#b08000">13</span>],letters[<span style="color:#b08000">14</span><span style="color:#3daee9">:</span><span style="color:#b08000">26</span>])
0109 <span style="color:#644a9b">c</span>(<span style="color:#b08000">1</span>,<span style="color:#b08000">6</span>,<span style="color:#b08000">4</span>,<span style="color:#b08000">9</span>)<span style="color:#3daee9">*</span><span style="color:#b08000">2</span>
0110 something <span style="color:#006e28;font-weight:bold">&lt;-</span> <span style="color:#644a9b">c</span>(<span style="color:#b08000">1</span>,<span style="color:#b08000">4</span>,letters[<span style="color:#b08000">2</span>])  <span style="color:#898887"># indices start at one, you get (1,4,"b")</span>
0111 <span style="color:#644a9b">length</span>(something)
0112 
0113 <span style="color:#607880;font-weight:bold">## margrittr's pipe</span>
0114 diamonds <span style="color:#3daee9">%>%</span>
0115   <span style="color:#644a9b">filter</span>(price <span style="color:#3daee9">></span> <span style="color:#b08000">1000</span>) <span style="color:#3daee9">%>%</span>
0116   <span style="color:#644a9b">group_by</span>(cut) <span style="color:#3daee9">%>%</span>
0117   <span style="color:#644a9b">tally</span>() <span style="color:#3daee9">%>%</span> 
0118   <span style="color:#644a9b">rename</span>(<span style="color:#0057ae">tally =</span> n) <span style="color:#3daee9">%>%</span> 
0119   <span style="color:#644a9b">arrange</span>(<span style="color:#3daee9">-</span>tally) <span style="color:#3daee9">%>%</span> 
0120   <span style="color:#644a9b">mutate</span>(<span style="color:#0057ae">pct =</span> tally <span style="color:#3daee9">/</span> <span style="color:#644a9b">sum</span>(tally)) <span style="color:#006e28;font-weight:bold">-></span> df
0121 
0122 <span style="color:#607880;font-weight:bold">## R native pipes (R > 4.1)</span>
0123 <span style="color:#644a9b">Sys.setenv</span>(<span style="color:#bf0303">"_R_USE_PIPEBIND_"</span><span style="color:#006e28;font-weight:bold">=</span> <span style="color:#aa5500">TRUE</span>)
0124 mtcars <span style="color:#3daee9">|></span> x <span style="color:#3daee9">=></span> <span style="color:#644a9b">lm</span>(mpg <span style="color:#3daee9">~</span> cyl, <span style="color:#0057ae">data =</span> x)
0125 
0126 <span style="color:#607880;font-weight:bold">## ggplot2 </span>
0127 plot <span style="color:#006e28;font-weight:bold">=</span> <span style="color:#644a9b">ggplot</span>(diamonds, <span style="color:#644a9b">aes</span>(<span style="color:#0057ae">x =</span> price, <span style="color:#0057ae">y =</span> carat)) <span style="color:#3daee9">+</span>
0128   <span style="color:#644a9b">geom_point</span>(<span style="color:#0057ae">alpha =</span> <span style="color:#b08000">0.3</span>, <span style="color:#0057ae">colour =</span> <span style="color:#bf0303">'steelblue'</span>) <span style="color:#3daee9">+</span>
0129   <span style="color:#644a9b">labs</span>(
0130     <span style="color:#0057ae">title =</span> <span style="color:#bf0303">"ggplot diamonds"</span>,
0131     <span style="color:#0057ae">x =</span> <span style="color:#bf0303">"Price, $"</span>,
0132     <span style="color:#0057ae">y =</span> <span style="color:#bf0303">"Carat"</span>
0133   ) <span style="color:#3daee9">+</span>
0134   <span style="color:#644a9b">facet_wrap</span>(<span style="color:#3daee9">~</span> cut) <span style="color:#3daee9">+</span>
0135   <span style="color:#644a9b">theme_minimal</span>()
0136 
0137 plot <span style="color:#3daee9">+</span> <span style="color:#644a9b">coord_flip</span>()
0138 </pre></body></html>