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