Video: Selecting Columns and Filtering Rows Example

Selecting Columns

By Name

data("ChickWeight")

head(ChickWeight)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 4     64    6     1    1
## 5     76    8     1    1
## 6     93   10     1    1
#Selecting Columns
#By Name
dat <- ChickWeight[,c("weight","Time")]
head(dat)
##   weight Time
## 1     42    0
## 2     51    2
## 3     59    4
## 4     64    6
## 5     76    8
## 6     93   10

By Position

#By Position
dat <- ChickWeight[,c(1,3)]
head(dat)
##   weight Chick
## 1     42     1
## 2     51     1
## 3     59     1
## 4     64     1
## 5     76     1
## 6     93     1

By Range of Position

#By Range of Position
dat <- ChickWeight[,c(1:3)]
head(dat)
##   weight Time Chick
## 1     42    0     1
## 2     51    2     1
## 3     59    4     1
## 4     64    6     1
## 5     76    8     1
## 6     93   10     1

Drop Columns

head(ChickWeight)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 4     64    6     1    1
## 5     76    8     1    1
## 6     93   10     1    1
#Drop By Position
dat <- ChickWeight[,-c(1,3)]
head(dat)
##   Time Diet
## 1    0    1
## 2    2    1
## 3    4    1
## 4    6    1
## 5    8    1
## 6   10    1

Filtering Rows

By Range of Positions

#By Range of Position
dat <- ChickWeight[1:3,]
print(dat)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1

By Multiples Ranges

#By Multiple Ranges
dat <- ChickWeight[c(1:3,7:9),]
print(dat)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 7    106   12     1    1
## 8    125   14     1    1
## 9    149   16     1    1

Filtering Rows by Boolean Condition

> Boolean (Greater Than)

#By > Boolean
dat <- ChickWeight[ChickWeight$weight > 300,]
head(dat)
##     weight Time Chick Diet
## 84     305   21     7    1
## 230    307   18    21    2
## 231    318   20    21    2
## 232    331   21    21    2
## 328    309   21    29    2
## 364    305   21    32    3

== Boolean (Equals Exactly)

#By == Boolean
dat <- ChickWeight[ChickWeight$weight == 200,]
head(dat)
##     weight Time Chick Diet
## 496    200   21    43    4

!= Boolean (Does NOT Equal)

#By != Boolean
dat <- ChickWeight[ChickWeight$weight != 100,]
head(dat)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 4     64    6     1    1
## 5     76    8     1    1
## 6     93   10     1    1

& Boolean (AND Condition)

#By & Boolean
dat <- ChickWeight[ChickWeight$weight <= 100 & ChickWeight$Time == 12,]
head(dat)
##     weight Time Chick Diet
## 102     90   12     9    1
## 114     89   12    10    1
## 150     71   12    13    1
## 174     67   12    15    1
## 182     54   12    16    1
## 189     98   12    17    1

| Boolean (OR Condition)

#By & Boolean
dat <- ChickWeight[ChickWeight$weight <= 100 | ChickWeight$Time == 20,]
head(dat)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 4     64    6     1    1
## 5     76    8     1    1
## 6     93   10     1    1

Filtering Rows and Selecting Columns

#By & Boolean
dat <- ChickWeight[ChickWeight$weight <= 100 | ChickWeight$Time == 20,c("weight","Time")]
head(dat)
##   weight Time
## 1     42    0
## 2     51    2
## 3     59    4
## 4     64    6
## 5     76    8
## 6     93   10