File indexing completed on 2024-05-19 15:23:14

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</span>
0012 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>
0013 <span style="color:#644a9b;">print</span>(a)
0014 <span style="color:#644a9b;">cat</span>(A, <span style="color:#bf0303;">&quot;</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span>) <span style="color:#898887;"># &quot;84&quot; is concatenated with &quot;\n&quot;</span>
0015 <span style="font-weight:bold;">if</span>(A<span style="color:#3daee9;">&gt;</span>a) <span style="color:#898887;"># true, 84 &gt; 42</span>
0016 {
0017   <span style="color:#644a9b;">cat</span>(A, <span style="color:#bf0303;">&quot;&gt;&quot;</span>, a, <span style="color:#bf0303;">&quot;</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span>)
0018 }
0019 
0020 <span style="color:#607880;font-weight:bold;">## Functions</span>
0021 Square <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="font-weight:bold;">function</span>(x) {
0022   <span style="color:#644a9b;">return</span>(x<span style="color:#3daee9;">^</span><span style="color:#b08000;">2</span>)
0023 }
0024 
0025 <span style="color:#644a9b;">print</span>(<span style="color:#644a9b;">Square</span>(<span style="color:#b08000;">4</span>))
0026 <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>
0027 
0028 <span style="color:#644a9b;">DoSomething</span>(<span style="color:#0057ae;">color=</span><span style="color:#bf0303;">&quot;red&quot;</span>,<span style="color:#0057ae;">number=</span><span style="color:#b08000;">55</span>)
0029 
0030 <span style="color:#607880;font-weight:bold;">## Countdown</span>
0031 countdown <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="font-weight:bold;">function</span>(from)
0032 {
0033   <span style="color:#644a9b;">print</span>(from)
0034   <span style="font-weight:bold;">while</span>(from<span style="color:#3daee9;">!=</span><span style="color:#b08000;">0</span>)
0035   {
0036     <span style="color:#644a9b;">Sys.sleep</span>(<span style="color:#b08000;">1</span>)
0037     from <span style="color:#006e28;font-weight:bold;">&lt;-</span> from <span style="color:#3daee9;">-</span> <span style="color:#b08000;">1</span>
0038     <span style="color:#644a9b;">print</span>(from)
0039   }
0040 }
0041 
0042 <span style="color:#644a9b;">countdown</span>(<span style="color:#b08000;">5</span>)
0043 
0044 <span style="color:#607880;font-weight:bold;">## Reading user input</span>
0045 readinteger <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="font-weight:bold;">function</span>()
0046 {
0047   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;">&quot;Enter an integer: &quot;</span>)
0048   n <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="color:#644a9b;">as.integer</span>(n)
0049   <span style="font-weight:bold;">if</span> (<span style="color:#644a9b;">is.na</span>(n)){
0050     n <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="color:#644a9b;">readinteger</span>()
0051   }
0052   <span style="color:#644a9b;">return</span>(n)
0053 }
0054 <span style="color:#644a9b;">print</span>(<span style="color:#644a9b;">readinteger</span>())
0055 
0056 readinteger <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="font-weight:bold;">function</span>()
0057 {
0058   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;">&quot;Enter an integer: &quot;</span>)
0059   <span style="font-weight:bold;">if</span>(<span style="color:#3daee9;">!</span><span style="color:#644a9b;">grepl</span>(<span style="color:#bf0303;">&quot;^[0-9]+$&quot;</span>,n))
0060   {
0061     <span style="color:#644a9b;">return</span>(<span style="color:#644a9b;">readinteger</span>())
0062   }
0063 
0064   <span style="color:#644a9b;">return</span>(<span style="color:#644a9b;">as.integer</span>(n))
0065 }
0066 <span style="color:#644a9b;">print</span>(<span style="color:#644a9b;">readinteger</span>())
0067 
0068 <span style="color:#607880;font-weight:bold;">## Guess a random number game</span>
0069 readinteger <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="font-weight:bold;">function</span>()
0070 {
0071   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;">&quot;Enter an integer: &quot;</span>)
0072   <span style="font-weight:bold;">if</span>(<span style="color:#3daee9;">!</span><span style="color:#644a9b;">grepl</span>(<span style="color:#bf0303;">&quot;^[0-9]+$&quot;</span>,n))
0073   {
0074     <span style="color:#644a9b;">return</span>(<span style="color:#644a9b;">readinteger</span>())
0075   }
0076   <span style="color:#644a9b;">return</span>(<span style="color:#644a9b;">as.integer</span>(n))
0077 }
0078 
0079 <span style="color:#898887;"># real program start here</span>
0080 
0081 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>)
0082 guess <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="color:#3daee9;">-</span><span style="color:#b08000;">1</span>
0083 
0084 <span style="color:#644a9b;">cat</span>(<span style="color:#bf0303;">&quot;Guess a number between 0 and 100.</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span>)
0085 
0086 <span style="font-weight:bold;">while</span>(guess <span style="color:#3daee9;">!=</span> num)
0087 {
0088   guess <span style="color:#006e28;font-weight:bold;">&lt;-</span> <span style="color:#644a9b;">readinteger</span>()
0089   <span style="font-weight:bold;">if</span> (guess <span style="color:#3daee9;">==</span> num)
0090   {
0091     <span style="color:#644a9b;">cat</span>(<span style="color:#bf0303;">&quot;Congratulations,&quot;</span>, num, <span style="color:#bf0303;">&quot;is right.</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span>)
0092   }
0093   <span style="font-weight:bold;">else</span> <span style="font-weight:bold;">if</span> (guess <span style="color:#3daee9;">&lt;</span> num)
0094   {
0095     <span style="color:#644a9b;">cat</span>(<span style="color:#bf0303;">&quot;It's bigger!</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span>)
0096   }
0097   <span style="font-weight:bold;">else</span> <span style="font-weight:bold;">if</span>(guess <span style="color:#3daee9;">&gt;</span> num)
0098   {
0099     <span style="color:#644a9b;">cat</span>(<span style="color:#bf0303;">&quot;It's smaller!</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span>)
0100   }
0101 }
0102 
0103 <span style="color:#607880;font-weight:bold;">## Lists</span>
0104 <span style="color:#644a9b;">sum</span>(<span style="color:#b08000;">0</span><span style="color:#3daee9;">:</span><span style="color:#b08000;">9</span>)
0105 <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>])
0106 <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>
0107 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,&quot;b&quot;)</span>
0108 <span style="color:#644a9b;">length</span>(something)
0109 
0110 <span style="color:#607880;font-weight:bold;">## margrittr's pipe</span>
0111 diamonds <span style="color:#3daee9;">%&gt;%</span>
0112   <span style="color:#644a9b;">filter</span>(price <span style="color:#3daee9;">&gt;</span> <span style="color:#b08000;">1000</span>) <span style="color:#3daee9;">%&gt;%</span>
0113   <span style="color:#644a9b;">group_by</span>(cut) <span style="color:#3daee9;">%&gt;%</span>
0114   <span style="color:#644a9b;">tally</span>() <span style="color:#3daee9;">%&gt;%</span> 
0115   <span style="color:#644a9b;">rename</span>(<span style="color:#0057ae;">tally =</span> n) <span style="color:#3daee9;">%&gt;%</span> 
0116   <span style="color:#644a9b;">arrange</span>(<span style="color:#3daee9;">-</span>tally) <span style="color:#3daee9;">%&gt;%</span> 
0117   <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;">-&gt;</span> df
0118 
0119 <span style="color:#607880;font-weight:bold;">## R native pipes (R &gt; 4.1)</span>
0120 <span style="color:#644a9b;">Sys.setenv</span>(<span style="color:#bf0303;">&quot;_R_USE_PIPEBIND_&quot;</span><span style="color:#006e28;font-weight:bold;">=</span> <span style="color:#aa5500;">TRUE</span>)
0121 mtcars <span style="color:#3daee9;">|&gt;</span> x <span style="color:#3daee9;">=&gt;</span> <span style="color:#644a9b;">lm</span>(mpg <span style="color:#3daee9;">~</span> cyl, <span style="color:#0057ae;">data =</span> x)
0122 
0123 <span style="color:#607880;font-weight:bold;">## ggplot2 </span>
0124 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>
0125   <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>
0126   <span style="color:#644a9b;">labs</span>(
0127     <span style="color:#0057ae;">title =</span> <span style="color:#bf0303;">&quot;ggplot diamonds&quot;</span>,
0128     <span style="color:#0057ae;">x =</span> <span style="color:#bf0303;">&quot;Price, $&quot;</span>,
0129     <span style="color:#0057ae;">y =</span> <span style="color:#bf0303;">&quot;Carat&quot;</span>
0130   ) <span style="color:#3daee9;">+</span>
0131   <span style="color:#644a9b;">facet_wrap</span>(<span style="color:#3daee9;">~</span> cut) <span style="color:#3daee9;">+</span>
0132   <span style="color:#644a9b;">theme_minimal</span>()
0133 
0134 plot <span style="color:#3daee9;">+</span> <span style="color:#644a9b;">coord_flip</span>()
0135 </pre></body></html>