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;"><-</span> <span style="color:#b08000;">42</span> 0012 A <span style="color:#006e28;font-weight:bold;"><-</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;">"</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">"</span>) <span style="color:#898887;"># "84" is concatenated with "\n"</span> 0015 <span style="font-weight:bold;">if</span>(A<span style="color:#3daee9;">></span>a) <span style="color:#898887;"># true, 84 > 42</span> 0016 { 0017 <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>) 0018 } 0019 0020 <span style="color:#607880;font-weight:bold;">## Functions</span> 0021 Square <span style="color:#006e28;font-weight:bold;"><-</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;">"red"</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;"><-</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;"><-</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;"><-</span> <span style="font-weight:bold;">function</span>() 0046 { 0047 n <span style="color:#006e28;font-weight:bold;"><-</span> <span style="color:#644a9b;">readline</span>(<span style="color:#0057ae;">prompt=</span><span style="color:#bf0303;">"Enter an integer: "</span>) 0048 n <span style="color:#006e28;font-weight:bold;"><-</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;"><-</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;"><-</span> <span style="font-weight:bold;">function</span>() 0057 { 0058 n <span style="color:#006e28;font-weight:bold;"><-</span> <span style="color:#644a9b;">readline</span>(<span style="color:#0057ae;">prompt=</span><span style="color:#bf0303;">"Enter an integer: "</span>) 0059 <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)) 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;"><-</span> <span style="font-weight:bold;">function</span>() 0070 { 0071 n <span style="color:#006e28;font-weight:bold;"><-</span> <span style="color:#644a9b;">readline</span>(<span style="color:#0057ae;">prompt=</span><span style="color:#bf0303;">"Enter an integer: "</span>) 0072 <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)) 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;"><-</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;"><-</span> <span style="color:#3daee9;">-</span><span style="color:#b08000;">1</span> 0083 0084 <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>) 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;"><-</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;">"Congratulations,"</span>, num, <span style="color:#bf0303;">"is right.</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">"</span>) 0092 } 0093 <span style="font-weight:bold;">else</span> <span style="font-weight:bold;">if</span> (guess <span style="color:#3daee9;"><</span> num) 0094 { 0095 <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>) 0096 } 0097 <span style="font-weight:bold;">else</span> <span style="font-weight:bold;">if</span>(guess <span style="color:#3daee9;">></span> num) 0098 { 0099 <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>) 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;"><-</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> 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;">%>%</span> 0112 <span style="color:#644a9b;">filter</span>(price <span style="color:#3daee9;">></span> <span style="color:#b08000;">1000</span>) <span style="color:#3daee9;">%>%</span> 0113 <span style="color:#644a9b;">group_by</span>(cut) <span style="color:#3daee9;">%>%</span> 0114 <span style="color:#644a9b;">tally</span>() <span style="color:#3daee9;">%>%</span> 0115 <span style="color:#644a9b;">rename</span>(<span style="color:#0057ae;">tally =</span> n) <span style="color:#3daee9;">%>%</span> 0116 <span style="color:#644a9b;">arrange</span>(<span style="color:#3daee9;">-</span>tally) <span style="color:#3daee9;">%>%</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;">-></span> df 0118 0119 <span style="color:#607880;font-weight:bold;">## R native pipes (R > 4.1)</span> 0120 <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>) 0121 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) 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;">"ggplot diamonds"</span>, 0128 <span style="color:#0057ae;">x =</span> <span style="color:#bf0303;">"Price, $"</span>, 0129 <span style="color:#0057ae;">y =</span> <span style="color:#bf0303;">"Carat"</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>