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

PPTX
欧洲杯投注-欧洲杯投注买球网站-欧洲杯投注买球网址|【​网址​🎉ac123.net🎉​】
PPTX
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
PPTX
欧洲杯足彩-欧洲杯足彩体彩-欧洲杯足彩竞彩|【​网址​🎉ac44.net🎉​】
PPTX
美洲杯投注-美洲杯投注竞猜-美洲杯投注竞猜投注|【​网址​🎉ac22.net🎉​】
PPTX
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
PPTX
世预赛投注-世预赛投注预测-世预赛投注押注|【​网址​🎉ac10.net🎉​】
PPTX
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
PPTX
美洲杯下注-美洲杯下注八强-美洲杯下注十六强|【​网址​🎉ac123.net🎉​】
欧洲杯投注-欧洲杯投注买球网站-欧洲杯投注买球网址|【​网址​🎉ac123.net🎉​】
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
欧洲杯足彩-欧洲杯足彩体彩-欧洲杯足彩竞彩|【​网址​🎉ac44.net🎉​】
美洲杯投注-美洲杯投注竞猜-美洲杯投注竞猜投注|【​网址​🎉ac22.net🎉​】
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
世预赛投注-世预赛投注预测-世预赛投注押注|【​网址​🎉ac10.net🎉​】
欧洲杯赌钱-欧洲杯赌钱冠军-欧洲杯赌钱冠军赔率|【​网址​🎉ac10.net🎉​】
美洲杯下注-美洲杯下注八强-美洲杯下注十六强|【​网址​🎉ac123.net🎉​】

Similar to 欧洲杯足彩-欧洲杯足彩八强-欧洲杯足彩十六强|【​网址​🎉ac99.net🎉​】 (20)

PPTX
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
PPTX
欧洲杯下注-欧洲杯下注投注官网app-欧洲杯下注哪里有正规的买球网站|【​网址​🎉ac55.net🎉​】
PPTX
世预赛买球-世预赛买球下注平台-世预赛买球投注平台|【​网址​🎉ac10.net🎉​】
PPTX
欧洲杯赌球-欧洲杯赌球竞猜官网-欧洲杯赌球竞猜网站|【​网址​🎉ac10.net🎉​】
PPTX
欧洲杯赌钱-欧洲杯赌钱足彩竞猜-欧洲杯赌钱竞猜app|【​网址​🎉ac123.net🎉​】
PPTX
欧洲杯赌球-欧洲杯赌球买球官方官网-欧洲杯赌球比赛投注官网|【​网址​🎉ac55.net🎉​】
PPTX
世预赛买球-世预赛买球买球网-世预赛买球买球网站|【​网址​🎉ac22.net🎉​】
PPTX
欧洲杯足彩-欧洲杯足彩下注网站-欧洲杯足彩投注网站|【​网址​🎉ac99.net🎉​】
PPTX
世预赛下注-世预赛下注竞猜网站-世预赛下注竞猜波胆|【​网址​🎉ac123.net🎉​】
PPTX
世预赛在哪里押注-世预赛在哪里押注注册-世预赛在哪里押注|【​网址​🎉ac10.net🎉​】
PPTX
美洲杯押注靠谱的软件-美洲杯押注靠谱的软件推荐-美洲杯押注靠谱的软件|【​网址​🎉ac123.net🎉​】
PPTX
美洲杯体育投注-美洲杯体育投注推荐-美洲杯体育投注|【​网址​🎉ac10.net🎉​】
PPTX
Flow Controls in R Programming, gives a brief description of Flow controls in...
PPTX
世预赛押注app官网-世预赛押注app官网官方网站-世预赛押注app官网|【​网址​🎉ac99.net🎉​】
PPTX
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
PPTX
世预赛买球网址-世预赛买球网址APP下载-世预赛买球网址|【​网址​🎉ac99.net🎉​】
PPTX
体育博彩论坛-十大体育博彩论坛-体育博彩论坛|【​网址​🎉ac55.net🎉​】
PPTX
美洲杯比赛投注官网-美洲杯比赛投注官网欢迎您-美洲杯比赛投注官网|【​网址​🎉ac10.net🎉​】
PPTX
欧洲杯竞猜-欧洲杯竞猜押注-欧洲杯竞猜押注官网|【​网址​🎉ac99.net🎉​】
PPTX
美洲杯投注-美洲杯投注竞猜app-竞猜美洲杯投注app|【​网址​🎉ac10.net🎉​】
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
欧洲杯下注-欧洲杯下注投注官网app-欧洲杯下注哪里有正规的买球网站|【​网址​🎉ac55.net🎉​】
世预赛买球-世预赛买球下注平台-世预赛买球投注平台|【​网址​🎉ac10.net🎉​】
欧洲杯赌球-欧洲杯赌球竞猜官网-欧洲杯赌球竞猜网站|【​网址​🎉ac10.net🎉​】
欧洲杯赌钱-欧洲杯赌钱足彩竞猜-欧洲杯赌钱竞猜app|【​网址​🎉ac123.net🎉​】
欧洲杯赌球-欧洲杯赌球买球官方官网-欧洲杯赌球比赛投注官网|【​网址​🎉ac55.net🎉​】
世预赛买球-世预赛买球买球网-世预赛买球买球网站|【​网址​🎉ac22.net🎉​】
欧洲杯足彩-欧洲杯足彩下注网站-欧洲杯足彩投注网站|【​网址​🎉ac99.net🎉​】
世预赛下注-世预赛下注竞猜网站-世预赛下注竞猜波胆|【​网址​🎉ac123.net🎉​】
世预赛在哪里押注-世预赛在哪里押注注册-世预赛在哪里押注|【​网址​🎉ac10.net🎉​】
美洲杯押注靠谱的软件-美洲杯押注靠谱的软件推荐-美洲杯押注靠谱的软件|【​网址​🎉ac123.net🎉​】
美洲杯体育投注-美洲杯体育投注推荐-美洲杯体育投注|【​网址​🎉ac10.net🎉​】
Flow Controls in R Programming, gives a brief description of Flow controls in...
世预赛押注app官网-世预赛押注app官网官方网站-世预赛押注app官网|【​网址​🎉ac99.net🎉​】
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
世预赛买球网址-世预赛买球网址APP下载-世预赛买球网址|【​网址​🎉ac99.net🎉​】
体育博彩论坛-十大体育博彩论坛-体育博彩论坛|【​网址​🎉ac55.net🎉​】
美洲杯比赛投注官网-美洲杯比赛投注官网欢迎您-美洲杯比赛投注官网|【​网址​🎉ac10.net🎉​】
欧洲杯竞猜-欧洲杯竞猜押注-欧洲杯竞猜押注官网|【​网址​🎉ac99.net🎉​】
美洲杯投注-美洲杯投注竞猜app-竞猜美洲杯投注app|【​网址​🎉ac10.net🎉​】
Ad

Recently uploaded (20)

PPTX
GEE2-BEED-II: Ibaloi Indigenous People .pptx
PDF
John Baptist Scalabrini Novena - Fr Luciano Final eddition.pdf
PDF
Renovating a Midwest Ranch Rustic Modern Charm with Carved Doors
PPTX
Hyperlipidemia current medication with lifestyle.
PDF
Uniqaya Night Cream For All Skin Type With Natural Ingredients
PDF
4 Mindset Shifts to Turn Frustration into Focus
PPTX
The-World-of-Fashion-Trends-and-Innovation-2025.pptx
PPTX
hhhsyysvwvsydxuguduehshsvdhvdjbuwbjwjdbwubs
PDF
Maslow's Hierarchy Isn't a Ladder — It's a Loop (by Meenakshi Khakat)
DOCX
Free Pomodoro Tecnique Effect Guide -25mint - pomodorotimer.com.au
PDF
Student Housing Security From Metal Keys to Smart Access.pdf
PDF
Economic and Financial Abuse - Hidden Tools of Power in Domestic Violence
PPTX
examinophobia;how does it occur and how to solve
PPTX
Term review 2023 Hirata TYPHOON.pptx review
PDF
Special Needs Dogs – How to Care for Them with Love .pdf
PPTX
James 1 Bible verses sermonbbbbbbbbbb.pptx
PPTX
PPT ARIEZ'S TOUR FINAL Pulogebang on.pptx
PPTX
Ethical_Clothing_Presentation for everyone
DOC
学历学位硕士ACAP毕业证,澳大利亚凯斯林大学毕业证留学未毕业
PPTX
Role, role conflict and ascribed and achieved role.pptx
GEE2-BEED-II: Ibaloi Indigenous People .pptx
John Baptist Scalabrini Novena - Fr Luciano Final eddition.pdf
Renovating a Midwest Ranch Rustic Modern Charm with Carved Doors
Hyperlipidemia current medication with lifestyle.
Uniqaya Night Cream For All Skin Type With Natural Ingredients
4 Mindset Shifts to Turn Frustration into Focus
The-World-of-Fashion-Trends-and-Innovation-2025.pptx
hhhsyysvwvsydxuguduehshsvdhvdjbuwbjwjdbwubs
Maslow's Hierarchy Isn't a Ladder — It's a Loop (by Meenakshi Khakat)
Free Pomodoro Tecnique Effect Guide -25mint - pomodorotimer.com.au
Student Housing Security From Metal Keys to Smart Access.pdf
Economic and Financial Abuse - Hidden Tools of Power in Domestic Violence
examinophobia;how does it occur and how to solve
Term review 2023 Hirata TYPHOON.pptx review
Special Needs Dogs – How to Care for Them with Love .pdf
James 1 Bible verses sermonbbbbbbbbbb.pptx
PPT ARIEZ'S TOUR FINAL Pulogebang on.pptx
Ethical_Clothing_Presentation for everyone
学历学位硕士ACAP毕业证,澳大利亚凯斯林大学毕业证留学未毕业
Role, role conflict and ascribed and achieved role.pptx
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()