SlideShare a Scribd company logo
DepartmentofComputerApplications
Dr.C.DanielNesaKumar
AssistantProfessor
DATA VISUALIZATION IN
R PROGRAMMING
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
欧洲杯下注-欧洲杯下注投注官网app-欧洲杯下注哪里有正规的买球网站|【​网址​🎉ac55.net🎉​】
PPTX
世预赛买球-世预赛买球下注平台-世预赛买球投注平台|【​网址​🎉ac10.net🎉​】
PPTX
欧洲杯赌球-欧洲杯赌球竞猜官网-欧洲杯赌球竞猜网站|【​网址​🎉ac10.net🎉​】
PPTX
欧洲杯赌钱-欧洲杯赌钱足彩竞猜-欧洲杯赌钱竞猜app|【​网址​🎉ac123.net🎉​】
PPTX
欧洲杯赌球-欧洲杯赌球买球官方官网-欧洲杯赌球比赛投注官网|【​网址​🎉ac55.net🎉​】
PPTX
世预赛买球-世预赛买球买球网-世预赛买球买球网站|【​网址​🎉ac22.net🎉​】
PPTX
欧洲杯足彩-欧洲杯足彩下注网站-欧洲杯足彩投注网站|【​网址​🎉ac99.net🎉​】
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
欧洲杯下注-欧洲杯下注投注官网app-欧洲杯下注哪里有正规的买球网站|【​网址​🎉ac55.net🎉​】
世预赛买球-世预赛买球下注平台-世预赛买球投注平台|【​网址​🎉ac10.net🎉​】
欧洲杯赌球-欧洲杯赌球竞猜官网-欧洲杯赌球竞猜网站|【​网址​🎉ac10.net🎉​】
欧洲杯赌钱-欧洲杯赌钱足彩竞猜-欧洲杯赌钱竞猜app|【​网址​🎉ac123.net🎉​】
欧洲杯赌球-欧洲杯赌球买球官方官网-欧洲杯赌球比赛投注官网|【​网址​🎉ac55.net🎉​】
世预赛买球-世预赛买球买球网-世预赛买球买球网站|【​网址​🎉ac22.net🎉​】
欧洲杯足彩-欧洲杯足彩下注网站-欧洲杯足彩投注网站|【​网址​🎉ac99.net🎉​】

Similar to 世预赛在哪里押注-世预赛在哪里押注注册-世预赛在哪里押注|【​网址​🎉ac10.net🎉​】 (20)

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

More from ahmedendrise81 (15)

PPT
十大欧洲杯实时赔率平台-十大欧洲杯实时赔率游戏平台 |【​网址​🎉ac22.net🎉​】 .
PPTX
美洲杯下注-美洲杯下注十六强-美洲杯下注买球网|【​网址​🎉ac22.net🎉​】
PPTX
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
PPTX
欧洲杯足彩-欧洲杯足彩投注网-欧洲杯足彩投注网站|【​网址​🎉ac123.net🎉​】
PPTX
欧洲杯买球-欧洲杯买球买球推荐-欧洲杯买球买球推荐网站|【​网址​🎉ac10.net🎉​】
PPTX
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
PDF
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
PDF
欧洲杯比赛投注官网-欧洲杯比赛投注官网网站-欧洲杯比赛投注官网|【​网址​🎉ac123.net🎉​】
PDF
2024欧洲杯押注在哪个app-2024欧洲杯押注在哪个app欢迎您-2024欧洲杯押注在哪个app|【​网址​🎉ac123.net🎉​】
PDF
欧洲杯买球网好的网站-欧洲杯买球网好的网站网址-欧洲杯买球网好的网站|【​网址​🎉ac123.net🎉​】
PDF
欧洲杯哪里有正规的买球网站-欧洲杯哪里有正规的买球网站-欧洲杯哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
PDF
2024欧洲杯竞猜app-推荐2024欧洲杯竞猜app大全|立即访问【ac123.net】
PPTX
2024欧洲杯官网app下载-可靠的2024欧洲杯官网app下载-信誉的2024欧洲杯官网app下载网站|立即访问【ac123.net】
PDF
欧洲杯投注官网-靠谱的网上欧洲杯投注官网-推荐欧洲杯投注官网|立即访问【ac123.net】
PDF
欧洲杯投注官网-靠谱的网上欧洲杯投注官网-推荐欧洲杯投注官网|立即访问【ac123.net】
十大欧洲杯实时赔率平台-十大欧洲杯实时赔率游戏平台 |【​网址​🎉ac22.net🎉​】 .
美洲杯下注-美洲杯下注十六强-美洲杯下注买球网|【​网址​🎉ac22.net🎉​】
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
欧洲杯足彩-欧洲杯足彩投注网-欧洲杯足彩投注网站|【​网址​🎉ac123.net🎉​】
欧洲杯买球-欧洲杯买球买球推荐-欧洲杯买球买球推荐网站|【​网址​🎉ac10.net🎉​】
世预赛下注-世预赛下注下注平台-世预赛下注投注平台|【​网址​🎉ac44.net🎉​】
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯比赛投注官网-欧洲杯比赛投注官网网站-欧洲杯比赛投注官网|【​网址​🎉ac123.net🎉​】
2024欧洲杯押注在哪个app-2024欧洲杯押注在哪个app欢迎您-2024欧洲杯押注在哪个app|【​网址​🎉ac123.net🎉​】
欧洲杯买球网好的网站-欧洲杯买球网好的网站网址-欧洲杯买球网好的网站|【​网址​🎉ac123.net🎉​】
欧洲杯哪里有正规的买球网站-欧洲杯哪里有正规的买球网站-欧洲杯哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
2024欧洲杯竞猜app-推荐2024欧洲杯竞猜app大全|立即访问【ac123.net】
2024欧洲杯官网app下载-可靠的2024欧洲杯官网app下载-信誉的2024欧洲杯官网app下载网站|立即访问【ac123.net】
欧洲杯投注官网-靠谱的网上欧洲杯投注官网-推荐欧洲杯投注官网|立即访问【ac123.net】
欧洲杯投注官网-靠谱的网上欧洲杯投注官网-推荐欧洲杯投注官网|立即访问【ac123.net】
Ad

Recently uploaded (20)

PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
PDF
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
PDF
Laughter Yoga Basic Learning Workshop Manual
PDF
Outsourced Audit & Assurance in USA Why Globus Finanza is Your Trusted Choice
PDF
How to Get Funding for Your Trucking Business
DOCX
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
PDF
IFRS Notes in your pocket for study all the time
PPTX
Probability Distribution, binomial distribution, poisson distribution
PPTX
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PDF
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PDF
MSPs in 10 Words - Created by US MSP Network
DOCX
Business Management - unit 1 and 2
PDF
Nidhal Samdaie CV - International Business Consultant
PPTX
HR Introduction Slide (1).pptx on hr intro
Ôn tập tiếng anh trong kinh doanh nâng cao
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
Belch_12e_PPT_Ch18_Accessible_university.pptx
Laughter Yoga Basic Learning Workshop Manual
Outsourced Audit & Assurance in USA Why Globus Finanza is Your Trusted Choice
How to Get Funding for Your Trucking Business
unit 2 cost accounting- Tender and Quotation & Reconciliation Statement
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
IFRS Notes in your pocket for study all the time
Probability Distribution, binomial distribution, poisson distribution
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
Roadmap Map-digital Banking feature MB,IB,AB
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
COST SHEET- Tender and Quotation unit 2.pdf
MSPs in 10 Words - Created by US MSP Network
Business Management - unit 1 and 2
Nidhal Samdaie CV - International Business Consultant
HR Introduction Slide (1).pptx on hr intro

世预赛在哪里押注-世预赛在哪里押注注册-世预赛在哪里押注|【​网址​🎉ac10.net🎉​】

  • 4. 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!
  • 5.  a<-3  b<-4  if(a<b)  message("B is greater")
  • 6.  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") }
  • 7.  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!"
  • 8.  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")  }
  • 9. 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  }
  • 10. While  i<-1  While (i<=4)  {  i<-i+1  print(i)  }  Output:  2  3  4  5
  • 11. 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
  • 12. 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.
  • 13. 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.
  • 14. Example  Sample<-function(a,b,c)  {  print(a) print(b) print(c) print(a+b+c) } Sample(2,3,4)
  • 15. 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
  • 16. 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)
  • 17. 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.
  • 18.  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
  • 19. 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
  • 21. 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
  • 22. 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 )
  • 23. 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)
  • 26. Box_plot() ggplot(data = mpg, aes(x = drv, y = hwy, colour = class)) + geom_boxplot()
  • 27. Geom_bar() g <- ggplot(mpg, aes(class)) # Number of cars in each class: g + geom_bar()