Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Activity 1 - R Installation and Familiarization

Trisha Isobelle V. Arboleda

2023-04-13

R Nuts and Bolts

x <- 1
print(x)

## [1] 1

## [1] 1

msg <- "hello"

Evaluation

x <- 5
x

## [1] 5

print(x)

## [1] 5

x <- 10:30
x

## [1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Creating Vectors

1
x <- c(0.5, 0.6)

x <- c(TRUE, FALSE)

x <- c(T, F)

x <- c("a", "b", "c")

x <- 9:29

x <- c(1+0i, 2+4i)

x <- vector("numeric", length = 10)


x

## [1] 0 0 0 0 0 0 0 0 0 0

R-Graph Plotting

library(datasets)
data(mtcars)

head(mtcars)

## mpg cyl disp hp drat wt qsec vs am gear carb


## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

summary(mtcars)

## mpg cyl disp hp


## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000

2
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000

boxplot(mtcars$mpg, col="blue")
30
25
20
15
10

hist(mtcars$mpg, col = "red") ## Plot 1

3
Histogram of mtcars$mpg
12
10
8
Frequency

6
4
2
0

10 15 20 25 30 35

mtcars$mpg

hist(mtcars$mpg, col = "purple", breaks = 25) ## Plot 2

4
Histogram of mtcars$mpg
4
3
Frequency

2
1
0

10 15 20 25 30

mtcars$mpg

hist(mtcars$mpg, col = "pink", breaks = 50) ## Plot 3

5
Histogram of mtcars$mpg
3
2
Frequency

1
0

10 15 20 25 30

mtcars$mpg

barplot(table(mtcars$carb), col="yellow")

6
10
8
6
4
2
0

1 2 3 4 6 8

boxplot(mpg~gear, data=mtcars, col = "gray")

7
30
25
mpg

20
15
10

3 4 5

gear

hist(subset(mtcars, cyl == 4)$mpg, col = "green") ## Plot 1

8
Histogram of subset(mtcars, cyl == 4)$mpg
2
Frequency

1
0

20 22 24 26 28 30 32 34

subset(mtcars, cyl == 4)$mpg

hist(subset(mtcars, cyl == 8)$mpg, col = "yellow") ## Plot 2

9
Histogram of subset(mtcars, cyl == 8)$mpg
7
6
5
Frequency

4
3
2
1
0

10 12 14 16 18 20

subset(mtcars, cyl == 8)$mpg

with(mtcars, plot(mpg, qsec))

10
22
20
qsec

18
16

10 15 20 25 30

mpg

Mixing Objects

y <- c(1.7, "a")


y <- c(TRUE, 2)
y <- c("a", TRUE)

Explicit Coercion

x <- 0:6
class(x)

## [1] "integer"

as.numeric(x)

## [1] 0 1 2 3 4 5 6

11
as.logical(x)

## [1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE

as.character(x)

## [1] "0" "1" "2" "3" "4" "5" "6"

x <- c("a", "b", "c")

as.numeric(x)

## Warning: NAs introduced by coercion

## [1] NA NA NA

as.logical(x)

## [1] NA NA NA

as.complex(x)

## Warning: NAs introduced by coercion

## [1] NA NA NA

Matrices

m <- matrix(nrow = 2, ncol = 3)


m

## [,1] [,2] [,3]


## [1,] NA NA NA
## [2,] NA NA NA

dim(m)

## [1] 2 3

attributes(m)

## $dim
## [1] 2 3

12
m <- matrix(1:6, nrow = 2, ncol = 3)
m

## [,1] [,2] [,3]


## [1,] 1 3 5
## [2,] 2 4 6

m <- 1:10
m

## [1] 1 2 3 4 5 6 7 8 9 10

dim(m) <- c(2, 5)


m

## [,1] [,2] [,3] [,4] [,5]


## [1,] 1 3 5 7 9
## [2,] 2 4 6 8 10

x <- 1:3
y <- 10:12
cbind(x, y)

## x y
## [1,] 1 10
## [2,] 2 11
## [3,] 3 12

rbind(x, y)

## [,1] [,2] [,3]


## x 1 2 3
## y 10 11 12

Lists

x <- list(1, "a", TRUE, 1 + 4i)


x

## [[1]]
## [1] 1
##
## [[2]]
## [1] "a"
##
## [[3]]
## [1] TRUE
##
## [[4]]
## [1] 1+4i

13
x <- vector("list", length = 5)
x

## [[1]]
## NULL
##
## [[2]]
## NULL
##
## [[3]]
## NULL
##
## [[4]]
## NULL
##
## [[5]]
## NULL

Factors

x <- factor(c("yes", "yes", "no", "yes", "no"))


x

## [1] yes yes no yes no


## Levels: no yes

table(x)

## x
## no yes
## 2 3

## See the underlying representation of factor


unclass(x)

## [1] 2 2 1 2 1
## attr(,"levels")
## [1] "no" "yes"

## Create a vector with NAs in it


x <- c(1, 2, NA, 10, 3)
## Return a logical vector indicating which elements are NA
is.na(x)

## [1] FALSE FALSE TRUE FALSE FALSE

14
## Return a logical vector indicating which elements are NaN
is.nan(x)

## [1] FALSE FALSE FALSE FALSE FALSE

## Now create a vector with both NA and NaN values


x <- c(1, 2, NaN, NA, 4)

is.na(x)

## [1] FALSE FALSE TRUE TRUE FALSE

is.nan(x)

## [1] FALSE FALSE TRUE FALSE FALSE

Data Frames

x <- data.frame(foo = 1:4, bar = c(T, T, F, F))


x

## foo bar
## 1 1 TRUE
## 2 2 TRUE
## 3 3 FALSE
## 4 4 FALSE

nrow(x)

## [1] 4

ncol(x)

## [1] 2

Names

x <- 1:3

names(x)

## NULL

15
names(x) <- c("New York", "Seattle", "Los Angeles")

## New York Seattle Los Angeles


## 1 2 3

names(x)

## [1] "New York" "Seattle" "Los Angeles"

x <- list("Los Angeles" = 1, Boston = 2, London = 3)

## $‘Los Angeles‘
## [1] 1
##
## $Boston
## [1] 2
##
## $London
## [1] 3

names(x)

## [1] "Los Angeles" "Boston" "London"

m <- matrix(1:4, nrow = 2, ncol = 2)

dimnames(m) <- list(c("a", "b"), c("c", "d"))

## c d
## a 1 3
## b 2 4

colnames(m) <- c("h", "f")


rownames(m) <- c("x", "z")

## h f
## x 1 3
## z 2 4

16

You might also like