SlideShare a Scribd company logo
Flow Controls
If and else
 The simplest form of flow control is conditional execution using if.
 if takes a logical value (more precisely, a logical vector of length one) and
executes the next statement only
 if that value is TRUE:
 if(TRUE) message("It was true!")
 ## It was true!
 if(FALSE) message("It wasn't true!")
 Missing values aren’t allowed to be passed to if; doing so throws an error: if(NA)
message("Who knows if it was true?")
 ## Error: missing value where TRUE/FALSE needed Where you may have a missing
value, you should test for it using is.na:
 if(is.na(NA)) message("The value is missing!")
 ## The value is missing!
 a<-3
 b<-4
 if(a<b)
 message("B is greater")
 a <- 33
b <- 33
if (b > a) {
print("b is greater than a")
} else if (a == b) {
print ("a and b are equal")
}
 a <- 200
b <- 33
if (b > a) {
print("b is greater than a")
} else if (a == b) {
print("a and b are equal")
} else {
print("a is greater than b")
}
 x <- 41
 if (x > 10) {
 print("Above ten")
 if (x > 20) {
 print("and also above 20!")
 } else {
 print("but not above 20.")
 }
 } else {
 print("below 10.")
 }
 [1] "Above ten"
[1] "and also above 20!"
 x<-5
 if(is.nan(x))
 {
 message("x is missing")
 } else if(is.infinite(x))
 {
 message("x is infinite")
 } else if(x > 0)
 {
 message("x is positive")
 } else if(x < 0)
 {
 message("x is negative")
 } else
 {
 message("x is zero")
 }
Loop
 There are three kinds of loops in R:
 Repeat
 While, and for
 they can still come in handy for repeatedly executing code
 Repeat:
 i<-0
 repeat
 {
 print(i)
 i<-i+1
 if(i>=3)
 break
 }
While
 i<-1
 While (i<=4)
 {
 i<-i+1
 print(i)
 }
 Output:
 2
 3
 4
 5
For loop
 for(i in seq(1,10,2))
 { print(i) }
 i<-1
 for(j in 1:3)
 {
 i<-i+1
 print(i)
 }
 Output:
 2
 3
 4
Functions
 A function is a block of code which only runs when
it is called.
 You can pass data, known as parameters, into a
function.
 A function can return data as a result.
Creating and Calling Function in R
 In order to understand functions better, let’s take a look
at what they consist of.
 Typing the name of a function shows you the code that
runs when you call it.
 The terms "parameter" and "argument" can be used for the
same thing: information that are passed into a function.
 From a function's perspective:
 A parameter is the variable listed inside the parentheses
in the function definition.
 An argument is the value that is sent to the function when
it is called.
Example
 Sample<-function(a,b,c)
 {
 print(a)
print(b)
print(c)
print(a+b+c)
}
Sample(2,3,4)
Passing Functions to and from Other
Functions
 Functions can be used just like other variable
types, so we can pass them as arguments to other
functions, and return them from functions.
 One common example of a function that takes
another function as an argument is do.call.
 do.call(function(x, y) x + y, list(1:5, 5:1))
 ## [1] 6 6 6 6 6
do.call()
#create three data frames
df1 <- data.frame(team=c('A', 'B', 'C'), points=c(22, 27, 38))
df2 <- data.frame(team=c('D', 'E', 'F'), points=c(22, 14, 20))
df3 <- data.frame(team=c('G', 'H', 'I'), points=c(11, 15, 18))
#place three data frames into list
df_list <- list(df1, df2, df3)
#row bind together all three data frames
do.call(rbind, df_list)
Variable Scope
 A variable’s scope is the set of places from which you can see the variable.
For example, when you define a variable inside a function, the rest of the
statements in that function will have access to that variable.
 In R subfunctions will also have access to that variable.
 In this next example, the function f takes a variable x and passes it to the
function g. f also defines a variable y, which is within the scope of g, since g
is a sub‐ function of f.
 So, even though y isn’t defined inside g, the example works:
 f <- function(x)
 {
 y <- 1
 g <- function(x)
 {
 (x + y) / 2 #y is used, but is not a formal argument of g }
 g(x)
 }
 f(sqrt(5)) #It works! y is magically found in the environment of f
 ## [1] 1.618
String Manipulation
 String manipulation basically refers to the process of
handling and analyzing strings.
 It involves various operations concerned with
modification and parsing of strings to use and change its
data.
 Paste:
 str <- paste(c(1:3), "4", sep = ":")
 print (str)
 ## "1:4" "2:4" "3:4"
 Concatenation:
 # Concatenation using cat() function
 str <- cat("learn", "code", "tech", sep = ":")
 print (str)
## learn:code:tech
Packages and Visualization
Loading and Packages
 R is not limited to the code provided by the R Core Team.
It is very much a community effort, and
 there are thousands of add-on packages available to
extend it.
 The majority of R packages are currently installed in an
online repository called CRAN (the Comprehensive R
Archive Network1)
 which is maintained by the R Core Team. Installing and
using these add-on packages is an important part of the R
experience
Loading Packages
 To load a package that is already installed on your
machine, you call the library function
 We can load it with the library function:
 library(lattice)
 the functions provided by lattice. For example,
displays a fancy dot plot of the famous Immer’s barley
dataset:
dotplot(
variety ~ yield | site,
data = barley,
groups = year
)
Scatter Plot
 A "scatter plot" is a type of plot used to display the relationship between two
numerical variables, and plots one dot for each observation.
 It needs two vectors of same length, one for the x-axis (horizontal) and one
for the y-axis (vertical):
 Example
 x <- c(5,7,8,7,2,2,9,4,11,12,9,6)
y <- c(99,86,87,88,111,103,87,94,78,77,85,86)
plot(x, y)
P<- ggplot(mtcars,aes(wt,mpg) )
p+geom_point()
P<- ggplot(mtcars,aes(wt,mpg) )
p+geom_line(color=blue)
Box_plot()
ggplot(data = mpg, aes(x = drv, y = hwy,
colour = class)) +
geom_boxplot()
Geom_bar()
g <- ggplot(mpg, aes(class))
# Number of cars in each class:
g + geom_bar()

More Related Content

Similar to 美洲杯下注-美洲杯下注外围投注平台-美洲杯下注投注官方网站|【​网址​🎉ac99.net🎉​】 (15)

PPTX
欧洲杯赌球-欧洲杯赌球买球官方官网-欧洲杯赌球比赛投注官网|【​网址​🎉ac55.net🎉​】
valvereliz227
 
PPTX
世预赛买球网址-世预赛买球网址APP下载-世预赛买球网址|【​网址​🎉ac99.net🎉​】
valvereliz227
 
PPTX
世预赛在哪里押注-世预赛在哪里押注注册-世预赛在哪里押注|【​网址​🎉ac10.net🎉​】
ahmedendrise81
 
PPTX
美洲杯押注靠谱的软件-美洲杯押注靠谱的软件推荐-美洲杯押注靠谱的软件|【​网址​🎉ac123.net🎉​】
andagarcia212
 
PPTX
体育博彩论坛-十大体育博彩论坛-体育博彩论坛|【​网址​🎉ac55.net🎉​】
waldorfnorma258
 
PPTX
美洲杯比赛投注官网-美洲杯比赛投注官网欢迎您-美洲杯比赛投注官网|【​网址​🎉ac10.net🎉​】
giovannifabio834
 
PPTX
世预赛押注app官网-世预赛押注app官网官方网站-世预赛押注app官网|【​网址​🎉ac99.net🎉​】
mayahaya862
 
PPTX
美洲杯体育投注-美洲杯体育投注推荐-美洲杯体育投注|【​网址​🎉ac10.net🎉​】
hanniaarias53
 
PPTX
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
ramaysha335
 
PPTX
Flow Controls in R Programming, gives a brief description of Flow controls in...
DanielNesaKumarC
 
PPTX
欧洲杯竞猜-欧洲杯竞猜押注-欧洲杯竞猜押注官网|【​网址​🎉ac99.net🎉​】
juliancopeman444
 
PPTX
美洲杯投注-美洲杯投注竞猜app-竞猜美洲杯投注app|【​网址​🎉ac10.net🎉​】
muslimbabu372
 
PPTX
欧洲杯投注-欧洲杯投注外围盘口-欧洲杯投注盘口app|【​网址​🎉ac22.net🎉​】
concepsionchomo153
 
PPTX
欧洲杯足彩-欧洲杯足彩押注-欧洲杯足彩押注官网|【​网址​🎉ac99.net🎉​】
mukeshomran942
 
PPTX
欧洲杯体彩-欧洲杯体彩比分-欧洲杯体彩比分投注|【​网址​🎉ac44.net🎉​】
mayngozi145
 
欧洲杯赌球-欧洲杯赌球买球官方官网-欧洲杯赌球比赛投注官网|【​网址​🎉ac55.net🎉​】
valvereliz227
 
世预赛买球网址-世预赛买球网址APP下载-世预赛买球网址|【​网址​🎉ac99.net🎉​】
valvereliz227
 
世预赛在哪里押注-世预赛在哪里押注注册-世预赛在哪里押注|【​网址​🎉ac10.net🎉​】
ahmedendrise81
 
美洲杯押注靠谱的软件-美洲杯押注靠谱的软件推荐-美洲杯押注靠谱的软件|【​网址​🎉ac123.net🎉​】
andagarcia212
 
体育博彩论坛-十大体育博彩论坛-体育博彩论坛|【​网址​🎉ac55.net🎉​】
waldorfnorma258
 
美洲杯比赛投注官网-美洲杯比赛投注官网欢迎您-美洲杯比赛投注官网|【​网址​🎉ac10.net🎉​】
giovannifabio834
 
世预赛押注app官网-世预赛押注app官网官方网站-世预赛押注app官网|【​网址​🎉ac99.net🎉​】
mayahaya862
 
美洲杯体育投注-美洲杯体育投注推荐-美洲杯体育投注|【​网址​🎉ac10.net🎉​】
hanniaarias53
 
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
ramaysha335
 
Flow Controls in R Programming, gives a brief description of Flow controls in...
DanielNesaKumarC
 
欧洲杯竞猜-欧洲杯竞猜押注-欧洲杯竞猜押注官网|【​网址​🎉ac99.net🎉​】
juliancopeman444
 
美洲杯投注-美洲杯投注竞猜app-竞猜美洲杯投注app|【​网址​🎉ac10.net🎉​】
muslimbabu372
 
欧洲杯投注-欧洲杯投注外围盘口-欧洲杯投注盘口app|【​网址​🎉ac22.net🎉​】
concepsionchomo153
 
欧洲杯足彩-欧洲杯足彩押注-欧洲杯足彩押注官网|【​网址​🎉ac99.net🎉​】
mukeshomran942
 
欧洲杯体彩-欧洲杯体彩比分-欧洲杯体彩比分投注|【​网址​🎉ac44.net🎉​】
mayngozi145
 

Recently uploaded (20)

PPTX
Melbourne’s Trusted Accountants for Business Tax - Clear Tax
Clear Tax
 
PDF
Your Best Year Yet​ Create a Sharp, Focused AOP for FY2026​
ChristopherVicGamuya
 
PDF
How do we fix the Messed Up Corporation’s System diagram?
YukoSoma
 
PPTX
Delivering Excellence: Lessons from the FedEx Model
RaulAmavisca
 
PDF
NewBase 03 July 2025 Energy News issue - 1799 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
PDF
Buy Facebook Accounts Buy Facebook Accounts
darlaknowles49
 
PDF
Your Best Year Yet Create a Sharp, Focused AOP for FY2026
ChristopherVicGamuya
 
PDF
Agriculture Machinery PartsAgriculture Machinery Parts
mizhanw168
 
DOCX
TCP Communication Flag Txzczczxcxzzxypes.docx
esso24
 
PPTX
Technical Analysis of 1st Generation Biofuel Feedstocks - 25th June 2025
TOFPIK
 
PDF
The Canvas of Creative Mastery Newsletter_June 2025
AmirYakdi
 
PDF
Smart Lead Magnet Review: Effortless Email List Growth with Automated Funnels...
Larry888358
 
PDF
Gabino Barbosa - A Master Of Efficiency
Gabino Barbosa
 
PDF
FastnersFastnersFastnersFastnersFastners
mizhanw168
 
DOCX
How to Build Digital Income From Scratch Without Tech Skills or Experience
legendarybook73
 
PDF
Two-phase direct-to-chip cooling - Parker Components
Parker Hannifin Corporation
 
PDF
91Mobiles Laptop Benchmark Report - May 2025.pdf
91mobiles
 
PDF
Top Trends Redefining B2B Apparel Exporting in 2025
ananyaa2255
 
PDF
20250703_A. Stotz All Weather Strategy - Performance review July
FINNOMENAMarketing
 
PDF
The Best eSIM Provider for Europe in 2025
Airhub
 
Melbourne’s Trusted Accountants for Business Tax - Clear Tax
Clear Tax
 
Your Best Year Yet​ Create a Sharp, Focused AOP for FY2026​
ChristopherVicGamuya
 
How do we fix the Messed Up Corporation’s System diagram?
YukoSoma
 
Delivering Excellence: Lessons from the FedEx Model
RaulAmavisca
 
NewBase 03 July 2025 Energy News issue - 1799 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
Buy Facebook Accounts Buy Facebook Accounts
darlaknowles49
 
Your Best Year Yet Create a Sharp, Focused AOP for FY2026
ChristopherVicGamuya
 
Agriculture Machinery PartsAgriculture Machinery Parts
mizhanw168
 
TCP Communication Flag Txzczczxcxzzxypes.docx
esso24
 
Technical Analysis of 1st Generation Biofuel Feedstocks - 25th June 2025
TOFPIK
 
The Canvas of Creative Mastery Newsletter_June 2025
AmirYakdi
 
Smart Lead Magnet Review: Effortless Email List Growth with Automated Funnels...
Larry888358
 
Gabino Barbosa - A Master Of Efficiency
Gabino Barbosa
 
FastnersFastnersFastnersFastnersFastners
mizhanw168
 
How to Build Digital Income From Scratch Without Tech Skills or Experience
legendarybook73
 
Two-phase direct-to-chip cooling - Parker Components
Parker Hannifin Corporation
 
91Mobiles Laptop Benchmark Report - May 2025.pdf
91mobiles
 
Top Trends Redefining B2B Apparel Exporting in 2025
ananyaa2255
 
20250703_A. Stotz All Weather Strategy - Performance review July
FINNOMENAMarketing
 
The Best eSIM Provider for Europe in 2025
Airhub
 
Ad

美洲杯下注-美洲杯下注外围投注平台-美洲杯下注投注官方网站|【​网址​🎉ac99.net🎉​】

  • 2. If and else  The simplest form of flow control is conditional execution using if.  if takes a logical value (more precisely, a logical vector of length one) and executes the next statement only  if that value is TRUE:  if(TRUE) message("It was true!")  ## It was true!  if(FALSE) message("It wasn't true!")  Missing values aren’t allowed to be passed to if; doing so throws an error: if(NA) message("Who knows if it was true?")  ## Error: missing value where TRUE/FALSE needed Where you may have a missing value, you should test for it using is.na:  if(is.na(NA)) message("The value is missing!")  ## The value is missing!
  • 3.  a<-3  b<-4  if(a<b)  message("B is greater")
  • 4.  a <- 33 b <- 33 if (b > a) { print("b is greater than a") } else if (a == b) { print ("a and b are equal") }  a <- 200 b <- 33 if (b > a) { print("b is greater than a") } else if (a == b) { print("a and b are equal") } else { print("a is greater than b") }
  • 5.  x <- 41  if (x > 10) {  print("Above ten")  if (x > 20) {  print("and also above 20!")  } else {  print("but not above 20.")  }  } else {  print("below 10.")  }  [1] "Above ten" [1] "and also above 20!"
  • 6.  x<-5  if(is.nan(x))  {  message("x is missing")  } else if(is.infinite(x))  {  message("x is infinite")  } else if(x > 0)  {  message("x is positive")  } else if(x < 0)  {  message("x is negative")  } else  {  message("x is zero")  }
  • 7. Loop  There are three kinds of loops in R:  Repeat  While, and for  they can still come in handy for repeatedly executing code  Repeat:  i<-0  repeat  {  print(i)  i<-i+1  if(i>=3)  break  }
  • 8. While  i<-1  While (i<=4)  {  i<-i+1  print(i)  }  Output:  2  3  4  5
  • 9. For loop  for(i in seq(1,10,2))  { print(i) }  i<-1  for(j in 1:3)  {  i<-i+1  print(i)  }  Output:  2  3  4
  • 10. Functions  A function is a block of code which only runs when it is called.  You can pass data, known as parameters, into a function.  A function can return data as a result.
  • 11. Creating and Calling Function in R  In order to understand functions better, let’s take a look at what they consist of.  Typing the name of a function shows you the code that runs when you call it.  The terms "parameter" and "argument" can be used for the same thing: information that are passed into a function.  From a function's perspective:  A parameter is the variable listed inside the parentheses in the function definition.  An argument is the value that is sent to the function when it is called.
  • 12. Example  Sample<-function(a,b,c)  {  print(a) print(b) print(c) print(a+b+c) } Sample(2,3,4)
  • 13. Passing Functions to and from Other Functions  Functions can be used just like other variable types, so we can pass them as arguments to other functions, and return them from functions.  One common example of a function that takes another function as an argument is do.call.  do.call(function(x, y) x + y, list(1:5, 5:1))  ## [1] 6 6 6 6 6
  • 14. do.call() #create three data frames df1 <- data.frame(team=c('A', 'B', 'C'), points=c(22, 27, 38)) df2 <- data.frame(team=c('D', 'E', 'F'), points=c(22, 14, 20)) df3 <- data.frame(team=c('G', 'H', 'I'), points=c(11, 15, 18)) #place three data frames into list df_list <- list(df1, df2, df3) #row bind together all three data frames do.call(rbind, df_list)
  • 15. Variable Scope  A variable’s scope is the set of places from which you can see the variable. For example, when you define a variable inside a function, the rest of the statements in that function will have access to that variable.  In R subfunctions will also have access to that variable.  In this next example, the function f takes a variable x and passes it to the function g. f also defines a variable y, which is within the scope of g, since g is a sub‐ function of f.
  • 16.  So, even though y isn’t defined inside g, the example works:  f <- function(x)  {  y <- 1  g <- function(x)  {  (x + y) / 2 #y is used, but is not a formal argument of g }  g(x)  }  f(sqrt(5)) #It works! y is magically found in the environment of f  ## [1] 1.618
  • 17. String Manipulation  String manipulation basically refers to the process of handling and analyzing strings.  It involves various operations concerned with modification and parsing of strings to use and change its data.  Paste:  str <- paste(c(1:3), "4", sep = ":")  print (str)  ## "1:4" "2:4" "3:4"  Concatenation:  # Concatenation using cat() function  str <- cat("learn", "code", "tech", sep = ":")  print (str) ## learn:code:tech
  • 19. Loading and Packages  R is not limited to the code provided by the R Core Team. It is very much a community effort, and  there are thousands of add-on packages available to extend it.  The majority of R packages are currently installed in an online repository called CRAN (the Comprehensive R Archive Network1)  which is maintained by the R Core Team. Installing and using these add-on packages is an important part of the R experience
  • 20. Loading Packages  To load a package that is already installed on your machine, you call the library function  We can load it with the library function:  library(lattice)  the functions provided by lattice. For example, displays a fancy dot plot of the famous Immer’s barley dataset: dotplot( variety ~ yield | site, data = barley, groups = year )
  • 21. Scatter Plot  A "scatter plot" is a type of plot used to display the relationship between two numerical variables, and plots one dot for each observation.  It needs two vectors of same length, one for the x-axis (horizontal) and one for the y-axis (vertical):  Example  x <- c(5,7,8,7,2,2,9,4,11,12,9,6) y <- c(99,86,87,88,111,103,87,94,78,77,85,86) plot(x, y)
  • 24. Box_plot() ggplot(data = mpg, aes(x = drv, y = hwy, colour = class)) + geom_boxplot()
  • 25. Geom_bar() g <- ggplot(mpg, aes(class)) # Number of cars in each class: g + geom_bar()