5 * 5
1 + 4 * 5
4 * 5 ^ 2
sin(90)
sin(0.5 * pi)
Slides: rpubs.com/RobinLovelace
5 * 5
1 + 4 * 5
4 * 5 ^ 2
sin(90)
sin(0.5 * pi)
a <- 1 b <- 2 c <- "c" x_thingy <- 4
a + b a * b a + c a / x_thingy
ls()
## [1] "a" "b" "c" "x_thingy"
x <- x_thingy rm(x_thingy) x
## [1] 4
ls()
## [1] "a" "b" "c" "x"
Ctl-Enter\[ \pi * 9.15^2 \]
Alt-Shift-K on Windows/Linux)In R:
# Assignment of x x <- 5 x
## [1] 5
# A trick to print x (x <- 5)
(y <- x)
sin(x)
## [1] -0.9589243
exp(x)
## [1] 148.4132
factorial(x)
## [1] 120
sinx <- sin(x)
x <- c(1, 2, 5) x
## [1] 1 2 5
x^2
## [1] 1 4 25
x + 2
## [1] 3 4 7
x + rev(x)
x <- c(1, 2, 5)
for(i in x){
print(i^2)
}
## [1] 1 ## [1] 4 ## [1] 25
Creating a new vector based on x
for(i in 1:length(x)){
if(i == 1) x2 <- x[i]^2
else x2 <- c(x2, x[i]^2)
}
x2
## [1] 1 4 25
R has a hierarchy of data classes, tending to the lowest:
a <- TRUE b <- 1:5 c <- pi d <- "Hello Leeds"
class(a) class(b) class(c) class(d)
ab <- c(a, b) ab
## [1] 1 1 2 3 4 5
class(ab)
## [1] "integer"
class(c(a, b))
## [1] "integer"
class(c(a, c))
## [1] "numeric"
class(c(b, d))
## [1] "character"
x <- 1:5 y <- 2:6 plot(x, y)
x <- seq(1,2, by = 0.2) length(x)
## [1] 6
x <- seq(1, 2, length.out = 5) length(x)
## [1] 5
Working through Chapter 20 of R for Data Science: http://r4ds.had.co.nz/vectors.html
Work through 20.3
Challenge: create an atomic vector of 3 characters and an NA
Challenge: create an atomic vector of 5 numeric vectors
x = 1:10 x[c(1, NA)] x[2 * 3] x[-2 * 3]
download-data.R