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