R Select(), Filter(), Arrange(), Pipeline with Example

ฮ— ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท ฯ€ฮฟฯ… ฮฟฮฝฮฟฮผฮฌฮถฮตฯ„ฮฑฮน dplyr ฯ€ฮตฯฮนฮญฯ‡ฮตฮน ฯ€ฮฟฮปฯฯ„ฮนฮผฮฑ ฯฮฎฮผฮฑฯ„ฮฑ ฮณฮนฮฑ ฯ€ฮปฮฟฮฎฮณฮทฯƒฮท ฮผฮญฯƒฮฑ ฯƒฯ„ฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ. ฮœฮญฯƒฯ‰ ฮฑฯ…ฯ„ฮฟฯ ฯ„ฮฟฯ… ฯƒฮตฮผฮนฮฝฮฑฯฮฏฮฟฯ…, ฮธฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฯƒฮตฯ„ฮต ฯ„ฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฯ‡ฯฯŒฮฝฮฟฯ… ฯ„ฮฑฮพฮนฮดฮนฮฟฯ. ฮคฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฯƒฯ…ฮปฮปฮญฮณฮตฮน ฯ€ฮปฮทฯฮฟฯ†ฮฟฯฮฏฮตฯ‚ ฮณฮนฮฑ ฯ„ฮฟ ฯ„ฮฑฮพฮฏฮดฮน ฯ€ฮฟฯ… ฮฟฮดฮทฮณฮตฮฏ ฮญฮฝฮฑฯ‚ ฮฟฮดฮทฮณฯŒฯ‚ ฮผฮตฯ„ฮฑฮพฯ ฯ„ฮฟฯ… ฯƒฯ€ฮนฯ„ฮนฮฟฯ ฯ„ฮฟฯ… ฮบฮฑฮน ฯ„ฮฟฯ… ฯ‡ฯŽฯฮฟฯ… ฮตฯฮณฮฑฯƒฮฏฮฑฯ‚ ฯ„ฮฟฯ…. ฮฅฯ€ฮฌฯฯ‡ฮฟฯ…ฮฝ ฮดฮตฮบฮฑฯ„ฮญฯƒฯƒฮตฯฮนฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚ ฯƒฯ„ฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ, ฯŒฯ€ฯ‰ฯ‚:

  • DayOfWeek: ฮ ฯฮฟฯƒฮดฮนฮฟฯฮฏฯƒฯ„ฮต ฯ„ฮทฮฝ ฮทฮผฮญฯฮฑ ฯ„ฮทฯ‚ ฮตฮฒฮดฮฟฮผฮฌฮดฮฑฯ‚ ฯ€ฮฟฯ… ฮฟ ฮฟฮดฮทฮณฯŒฯ‚ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮตฮฏ ฯ„ฮฟ ฮฑฯ…ฯ„ฮฟฮบฮฏฮฝฮทฯ„ฯŒ ฯ„ฮฟฯ…
  • ฮ‘ฯ€ฯŒฯƒฯ„ฮฑฯƒฮท: ฮ— ฯƒฯ…ฮฝฮฟฮปฮนฮบฮฎ ฮฑฯ€ฯŒฯƒฯ„ฮฑฯƒฮท ฯ„ฮฟฯ… ฯ„ฮฑฮพฮนฮดฮนฮฟฯ
  • MaxSpeed: ฮ— ฮผฮญฮณฮนฯƒฯ„ฮท ฯ„ฮฑฯ‡ฯฯ„ฮทฯ„ฮฑ ฯ„ฮฟฯ… ฯ„ฮฑฮพฮนฮดฮนฮฟฯ
  • TotalTime: ฮ— ฮดฮนฮฌฯฮบฮตฮนฮฑ ฯƒฮต ฮปฮตฯ€ฯ„ฮฌ ฯ„ฮฟฯ… ฯ„ฮฑฮพฮนฮดฮนฮฟฯ

ฮคฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮญฯ‡ฮตฮน ฯ€ฮตฯฮฏฯ€ฮฟฯ… 200 ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚ ฯƒฯ„ฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮบฮฑฮน ฮฟฮน ฮดฮนฮฑฮดฯฮฟฮผฮญฯ‚ ฯ€ฯฮฑฮณฮผฮฑฯ„ฮฟฯ€ฮฟฮนฮฎฮธฮทฮบฮฑฮฝ ฮผฮตฯ„ฮฑฮพฯ Monday ฮญฯ‰ฯ‚ ฯ„ฮทฮฝ ฮ ฮฑฯฮฑฯƒฮบฮตฯ…ฮฎ.

ฮ ฯฯŽฯ„ฮฑ ฮฑฯ€ 'ฯŒฮปฮฑ, ฯ€ฯฮญฯ€ฮตฮน ฮฝฮฑ:

  • ฯ†ฮฟฯฯ„ฯŽฯƒฯ„ฮต ฯ„ฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ
  • ฮตฮปฮญฮณฮพฯ„ฮต ฯ„ฮท ฮดฮฟฮผฮฎ ฯ„ฯ‰ฮฝ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ.

ฮˆฮฝฮฑ ฮตฯฯ‡ฯฮทฯƒฯ„ฮฟ ฯ‡ฮฑฯฮฑฮบฯ„ฮทฯฮนฯƒฯ„ฮนฮบฯŒ ฮผฮต ฯ„ฮฟ dplyr ฮตฮฏฮฝฮฑฮน ฮท ฯƒฯ…ฮฝฮฌฯฯ„ฮทฯƒฮท glimpse(). ฮ‘ฯ…ฯ„ฮฎ ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฮฒฮตฮปฯ„ฮฏฯ‰ฯƒฮท ฯƒฮต ฯƒฯ‡ฮญฯƒฮท ฮผฮต ฯ„ฮฟ str(). ฮœฯ€ฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฯƒฮฟฯ…ฮผฮต ฯ„ฮทฮฝ glimpse() ฮณฮนฮฑ ฮฝฮฑ ฮดฮฟฯฮผฮต ฯ„ฮท ฮดฮฟฮผฮฎ ฯ„ฮฟฯ… ฯƒฯ…ฮฝฯŒฮปฮฟฯ… ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮบฮฑฮน ฮฝฮฑ ฮฑฯ€ฮฟฯ†ฮฑฯƒฮฏฯƒฮฟฯ…ฮผฮต ฯ€ฮฟฮนฮฟฯ‚ ฯ‡ฮตฮนฯฮนฯƒฮผฯŒฯ‚ ฮฑฯ€ฮฑฮนฯ„ฮตฮฏฯ„ฮฑฮน.

library(dplyr) 
PATH <- "https://raw.githubusercontent.com/guru99-edu/R-Programming/master/travel_times.csv"
df <- read.csv(PATH)
glimpse(df)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## Observations: 205
## Variables: 14
## $ X              <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ...
## $ Date           <fctr> 1/6/2012, 1/6/2012, 1/4/2012, 1/4/2012, 1/3/20...
## $ StartTime      <fctr> 16:37, 08:20, 16:17, 07:53, 18:57, 07:57, 17:3...
## $ DayOfWeek      <fctr> Friday, Friday, Wednesday, Wednesday, Tuesday,...
## $ GoingTo        <fctr> Home, GSK, Home, GSK, Home, GSK, Home, GSK, GS...
## $ Distance       <dbl> 51.29, 51.63, 51.27, 49.17, 51.15, 51.80, 51.37...
## $ MaxSpeed       <dbl> 127.4, 130.3, 127.4, 132.3, 136.2, 135.8, 123.2...
## $ AvgSpeed       <dbl> 78.3, 81.8, 82.0, 74.2, 83.4, 84.5, 82.9, 77.5,...
## $ AvgMovingSpeed <dbl> 84.8, 88.9, 85.8, 82.9, 88.1, 88.8, 87.3, 85.9,...
## $ FuelEconomy    <fctr> , , , , , , -, -, 8.89, 8.89, 8.89, 8.89, 8.89...
## $ TotalTime      <dbl> 39.3, 37.9, 37.5, 39.8, 36.8, 36.8, 37.2, 37.9,...
## $ MovingTime     <dbl> 36.3, 34.9, 35.9, 35.6, 34.8, 35.0, 35.3, 34.3,...
## $ Take407All     <fctr> No, No, No, No, No, No, No, No, No, No, No, No...
## $ Comments       <fctr> , , , , , , , , , , , , , , , Put snow tires o...	

ฮ‘ฯ…ฯ„ฯŒ ฮตฮฏฮฝฮฑฮน ฯ€ฯฮฟฯ†ฮฑฮฝฮญฯ‚ ฯŒฯ„ฮน ฮท ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎ Comments ฯ‡ฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน ฯ€ฮตฯฮฑฮนฯ„ฮญฯฯ‰ ฮดฮนฮฑฮณฮฝฯ‰ฯƒฯ„ฮนฮบฯŒ ฮญฮปฮตฮณฯ‡ฮฟ. ฮฃฯ„ฮนฯ‚ ฯ€ฯฯŽฯ„ฮตฯ‚ ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚ ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎฯ‚ ฮฃฯ‡ฯŒฮปฮนฮฑ ฮปฮตฮฏฯ€ฮฟฯ…ฮฝ ฮผฯŒฮฝฮฟ ฯ„ฮนฮผฮญฯ‚.

sum(df$Comments =="")

Code ฮตฮพฮฎฮณฮทฯƒฮท

  • sum(df$Comments ==โ€โ€): ฮ†ฮธฯฮฟฮนฯƒฮผฮฑ ฯ„ฯ‰ฮฝ ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฯ‰ฮฝ ฮฏฯƒฮท ฮผฮต โ€œโ€ ฯƒฯ„ฮฑ ฯƒฯ‡ฯŒฮปฮนฮฑ ฯ„ฮทฯ‚ ฯƒฯ„ฮฎฮปฮทฯ‚ ฮฑฯ€ฯŒ ฯ„ฮฟ df

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## [1] 181

ฮตฯ€ฮนฮปฮญฮณฯ‰()

ฮ˜ฮฑ ฮพฮตฮบฮนฮฝฮฎฯƒฮฟฯ…ฮผฮต ฮผฮต ฯ„ฮฟ ฯฮฎฮผฮฑ select(). ฮ”ฮตฮฝ ฯ‡ฯฮตฮนฮฑฮถฯŒฮผฮฑฯƒฯ„ฮต ฮฑฯ€ฮฑฯฮฑฮฏฯ„ฮทฯ„ฮฑ ฯŒฮปฮตฯ‚ ฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚ ฮบฮฑฮน ฮผฮนฮฑ ฮบฮฑฮปฮฎ ฯ€ฯฮฑฮบฯ„ฮนฮบฮฎ ฮตฮฏฮฝฮฑฮน ฮฝฮฑ ฮตฯ€ฮนฮปฮญฮณฮฟฯ…ฮผฮต ฮผฯŒฮฝฮฟ ฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚ ฯ€ฮฟฯ… ฮธฮตฯ‰ฯฮตฮฏฯ„ฮต ฯƒฯ‡ฮตฯ„ฮนฮบฮญฯ‚.

ฮˆฯ‡ฮฟฯ…ฮผฮต 181 ฮตฮปฮปฮตฮฏฯ€ฮฟฯ…ฯƒฮตฯ‚ ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚, ฯƒฯ‡ฮตฮดฯŒฮฝ ฯ„ฮฟ 90 ฯ„ฮฟฮนฯ‚ ฮตฮบฮฑฯ„ฯŒ ฯ„ฮฟฯ… ฯƒฯ…ฮฝฯŒฮปฮฟฯ… ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ. ฮ•ฮฌฮฝ ฮฑฯ€ฮฟฯ†ฮฑฯƒฮฏฯƒฮตฯ„ฮต ฮฝฮฑ ฯ„ฮฑ ฮตฮพฮฑฮนฯฮญฯƒฮตฯ„ฮต, ฮดฮตฮฝ ฮธฮฑ ฮผฯ€ฮฟฯฮตฮฏฯ„ฮต ฮฝฮฑ ฯƒฯ…ฮฝฮตฯ‡ฮฏฯƒฮตฯ„ฮต ฯ„ฮทฮฝ ฮฑฮฝฮฌฮปฯ…ฯƒฮท.

ฮ— ฮฌฮปฮปฮท ฮดฯ…ฮฝฮฑฯ„ฯŒฯ„ฮทฯ„ฮฑ ฮตฮฏฮฝฮฑฮน ฮฝฮฑ ฮฑฯ€ฮฟฯฯฮฏฯˆฮตฯ„ฮต ฯ„ฮท ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎ Comment ฮผฮต ฯ„ฮฟ ฯฮฎฮผฮฑ select().

ฮœฯ€ฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฮตฯ€ฮนฮปฮญฮพฮฟฯ…ฮผฮต ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚ ฮผฮต ฮดฮนฮฑฯ†ฮฟฯฮตฯ„ฮนฮบฮฟฯฯ‚ ฯ„ฯฯŒฯ€ฮฟฯ…ฯ‚ ฮผฮต ฯ„ฮฟ select(). ฮฃฮทฮผฮตฮนฯŽฯƒฯ„ฮต ฯŒฯ„ฮน ฯ„ฮฟ ฯ€ฯฯŽฯ„ฮฟ ฯŒฯฮนฯƒฮผฮฑ ฮตฮฏฮฝฮฑฮน ฯ„ฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ.

- `select(df, A, B ,C)`: Select the variables A, B and C from df dataset.
- `select(df, A:C)`: Select all variables from A to C from df dataset.
- `select(df, -C)`: Exclude C from the dataset from df dataset.	

ฮœฯ€ฮฟฯฮตฮฏฯ„ฮต ฮฝฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฯƒฮตฯ„ฮต ฯ„ฮฟฮฝ ฯ„ฯฮฏฯ„ฮฟ ฯ„ฯฯŒฯ€ฮฟ ฮณฮนฮฑ ฮฝฮฑ ฮตฮพฮฑฮนฯฮญฯƒฮตฯ„ฮต ฯ„ฮท ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎ ฮฃฯ‡ฯŒฮปฮนฮฑ.

step_1_df <- select(df, -Comments)
dim(df)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## [1] 205  14
dim(step_1_df)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## [1] 205  13

ฮคฮฟ ฮฑฯฯ‡ฮนฮบฯŒ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮญฯ‡ฮตฮน 14 ฯ‡ฮฑฯฮฑฮบฯ„ฮทฯฮนฯƒฯ„ฮนฮบฮฌ ฮตฮฝฯŽ ฯ„ฮฟ step_1_df ฮญฯ‡ฮตฮน 13.

ฮฆฮฏฮปฯ„ฯฮฟ()

ฮคฮฟ ฯฮฎฮผฮฑ filter() ฮฒฮฟฮทฮธฮฌ ฮฝฮฑ ฮดฮนฮฑฯ„ฮทฯฮทฮธฮฟฯฮฝ ฮฟฮน ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚ ฯƒฯฮผฯ†ฯ‰ฮฝฮฑ ฮผฮต ฮญฮฝฮฑ ฮบฯฮนฯ„ฮฎฯฮนฮฟ. ฮคฮฟ filter() ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮตฮฏ ฮฑฮบฯฮนฮฒฯŽฯ‚ ฯŒฯ€ฯ‰ฯ‚ ฯ„ฮฟ select(), ฯ€ฮตฯฮฝฮฌฯ„ฮต ฯ€ฯฯŽฯ„ฮฑ ฯ„ฮฟ ฯ€ฮปฮฑฮฏฯƒฮนฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮบฮฑฮน ฮผฮตฯ„ฮฌ ฮผฮนฮฑ ฯƒฯ…ฮฝฮธฮฎฮบฮท ฯ€ฮฟฯ… ฯ‡ฯ‰ฯฮฏฮถฮตฯ„ฮฑฮน ฮผฮต ฮบฯŒฮผฮผฮฑ:

filter(df, condition)
arguments:
- df: dataset used to filter the data
- condition:  Condition used to filter the data	

ฮˆฮฝฮฑ ฮบฯฮนฯ„ฮฎฯฮนฮฟ

ฮ ฯฯŽฯ„ฮฑ ฮฑฯ€ 'ฯŒฮปฮฑ, ฮผฯ€ฮฟฯฮตฮฏฯ„ฮต ฮฝฮฑ ฮผฮตฯ„ฯฮฎฯƒฮตฯ„ฮต ฯ„ฮฟฮฝ ฮฑฯฮนฮธฮผฯŒ ฯ„ฯ‰ฮฝ ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฯ‰ฮฝ ฯƒฮต ฮบฮฌฮธฮต ฮตฯ€ฮฏฯ€ฮตฮดฮฟ ฮผฮนฮฑฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎฯ‚ ฯ€ฮฑฯฮฌฮณฮฟฮฝฯ„ฮฑ.

table(step_1_df$GoingTo)

Code ฮตฮพฮฎฮณฮทฯƒฮท

  • table(): ฮœฮตฯ„ฯฮฎฯƒฯ„ฮต ฯ„ฮฟฮฝ ฮฑฯฮนฮธฮผฯŒ ฯ„ฯ‰ฮฝ ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฯ‰ฮฝ ฮฑฮฝฮฌ ฮตฯ€ฮฏฯ€ฮตฮดฮฟ. ฮฃฮทฮผฮตฮฏฯ‰ฯƒฮท, ฮผฯŒฮฝฮฟ ฮท ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎ ฮตฯ€ฮนฯ€ฮญฮดฮฟฯ… ฯ€ฮฑฯฮฌฮณฮฟฮฝฯ„ฮฑ ฮตฮฏฮฝฮฑฮน ฮฑฯ€ฮฟฮดฮตฮบฯ„ฮฎ
  • ฯ€ฮฏฮฝฮฑฮบฮฑฯ‚(step_1_df$GoingTo): ฮœฮตฯ„ฯฮฎฯƒฯ„ฮต ฯ„ฮฟฮฝ ฮฑฯฮนฮธฮผฯŒ ฯ„ฯ‰ฮฝ ฯ„ฮฑฮพฮนฮดฮนฯŽฮฝ ฯ€ฯฮฟฯ‚ ฯ„ฮฟฮฝ ฯ„ฮตฮปฮนฮบฯŒ ฯ€ฯฮฟฮฟฯฮนฯƒฮผฯŒ.

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## 
##  GSK Home 
##  105  100	

ฮŸ ฯ€ฮฏฮฝฮฑฮบฮฑฯ‚ ฯƒฯ…ฮฝฮฑฯฯ„ฮฎฯƒฮตฯ‰ฮฝ() ฯ…ฯ€ฮฟฮดฮตฮนฮบฮฝฯฮตฮน ฯŒฯ„ฮน 105 ฮฒฯŒฮปฯ„ฮตฯ‚ ฯ€ฮทฮณฮฑฮฏฮฝฮฟฯ…ฮฝ ฯƒฯ„ฮฟ GSK ฮบฮฑฮน 100 ฯƒฯ„ฮฟ Home.

ฮœฯ€ฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯ†ฮนฮปฯ„ฯฮฌฯฮฟฯ…ฮผฮต ฯ„ฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฮฑ ฮณฮนฮฑ ฮฝฮฑ ฮตฯ€ฮนฯƒฯ„ฯฮญฯˆฮฟฯ…ฮผฮต ฮญฮฝฮฑ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮผฮต 105 ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚ ฮบฮฑฮน ฮญฮฝฮฑ ฮฌฮปฮปฮฟ ฮผฮต 100 ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚.

# Select observations
if GoingTo == Home
select_home <- filter(df, GoingTo == "Home")
dim(select_home)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## [1] 100  14
# Select observations
if GoingTo == Work
select_work <- filter(df, GoingTo == "GSK")
dim(select_work)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## [1] 105  14

ฮ ฮฟฮปฮปฮฑฯ€ฮปฮฌ ฮบฯฮนฯ„ฮฎฯฮนฮฑ

ฮœฯ€ฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯ†ฮนฮปฯ„ฯฮฌฯฮฟฯ…ฮผฮต ฮญฮฝฮฑ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮผฮต ฯ€ฮตฯฮนฯƒฯƒฯŒฯ„ฮตฯฮฑ ฮฑฯ€ฯŒ ฮญฮฝฮฑ ฮบฯฮนฯ„ฮฎฯฮนฮฑ. ฮ“ฮนฮฑ ฯ€ฮฑฯฮฌฮดฮตฮนฮณฮผฮฑ, ฮผฯ€ฮฟฯฮตฮฏฯ„ฮต ฯ€.ฯ‡.tracฮฟฮน ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚ ฯŒฯ€ฮฟฯ… ฮฟ ฯ€ฯฮฟฮฟฯฮนฯƒฮผฯŒฯ‚ ฮตฮฏฮฝฮฑฮน ฮท ฯ„ฮฟฯ€ฮฟฮธฮตฯƒฮฏฮฑ ฮ‘ฯฯ‡ฮนฮบฮฎ ฮบฮฑฮน ฯ€ฯฮฑฮณฮผฮฑฯ„ฮฟฯ€ฮฟฮนฮฎฮธฮทฮบฮฑฮฝ ฮคฮตฯ„ฮฌฯฯ„ฮท.

select_home_wed <- filter(df, GoingTo == "Home" & DayOfWeek == "Wednesday")
dim(select_home_wed)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## [1] 23 14

23 ฯ€ฮฑฯฮฑฯ„ฮทฯฮฎฯƒฮตฮนฯ‚ ฯ„ฮฑฮนฯฮนฮฌฮถฮฟฯ…ฮฝ ฮผฮต ฮฑฯ…ฯ„ฯŒ ฯ„ฮฟ ฮบฯฮนฯ„ฮฎฯฮนฮฟ.

Pipeline

ฮ— ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฏฮฑ ฮตฮฝฯŒฯ‚ ฯƒฯ…ฮฝฯŒฮปฮฟฯ… ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮฑฯ€ฮฑฮนฯ„ฮตฮฏ ฯ€ฮฟฮปฮปฮญฯ‚ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮตฯ‚, ฯŒฯ€ฯ‰ฯ‚:

  • ฮตฮนฯƒฮฑฮณฯ‰ฮณฮฎ
  • ฯƒฯ…ฮณฯ‡ฯŽฮฝฮตฯ…ฯƒฮท
  • ฮตฯ€ฮนฮปฮฟฮณฮฎ
  • ฯ†ฮนฮปฯ„ฯฮฌฯฮนฯƒฮผฮฑ
  • ฮบฮฑฮน ฮฟฯฯ„ฯ‰ ฮบฮฑฮธฮตฮพฮฎฯ‚

ฮ— ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท dplyr ฯƒฯ…ฮฝฮฟฮดฮตฯฮตฯ„ฮฑฮน ฮฑฯ€ฯŒ ฮญฮฝฮฑฮฝ ฯ€ฯฮฑฮบฯ„ฮนฮบฯŒ ฯ„ฮตฮปฮตฯƒฯ„ฮฎ, %>%, ฯ€ฮฟฯ… ฮฟฮฝฮฟฮผฮฌฮถฮตฯ„ฮฑฮน the ฮฑฮณฯ‰ฮณฮฟฯ. ฮ— ฮดฯ…ฮฝฮฑฯ„ฯŒฯ„ฮทฯ„ฮฑ ฮดฮนฮฟฯ‡ฮญฯ„ฮตฯ…ฯƒฮทฯ‚ ฮบฮฑฮธฮนฯƒฯ„ฮฌ ฯ„ฮฟฮฝ ฯ‡ฮตฮนฯฮนฯƒฮผฯŒ ฮบฮฑฮธฮฑฯฯŒ, ฮณฯฮฎฮณฮฟฯฮฟ ฮบฮฑฮน ฮปฮนฮณฯŒฯ„ฮตฯฮฟ ฮณฯฮฎฮณฮฟฯฮฟ ฯƒฮต ฯƒฯ†ฮฌฮปฮผฮฑฯ„ฮฑ.

ฮ‘ฯ…ฯ„ฯŒฯ‚ ฮฟ ฯ„ฮตฮปฮตฯƒฯ„ฮฎฯ‚ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑฯ‚ ฮบฯ‰ฮดฮนฮบฯŒฯ‚ ฯ€ฮฟฯ… ฮตฮบฯ„ฮตฮปฮตฮฏ ฮฒฮฎฮผฮฑฯ„ฮฑ ฯ‡ฯ‰ฯฮฏฯ‚ ฮฝฮฑ ฮฑฯ€ฮฟฮธฮทฮบฮตฯฮตฮน ฮตฮฝฮดฮนฮฌฮผฮตฯƒฮฑ ฮฒฮฎฮผฮฑฯ„ฮฑ ฯƒฯ„ฮฟฮฝ ฯƒฮบฮปฮทฯฯŒ ฮดฮฏฯƒฮบฮฟ. ฮ•ฮฌฮฝ ฮตฯ€ฮนฯƒฯ„ฯฮญฯˆฮตฯ„ฮต ฯƒฯ„ฮฟ ฯ€ฮฑฯฮฌฮดฮตฮนฮณฮผฮฌ ฮผฮฑฯ‚ ฮฑฯ€ฯŒ ฯ€ฮฑฯฮฑฯ€ฮฌฮฝฯ‰, ฮผฯ€ฮฟฯฮตฮฏฯ„ฮต ฮฝฮฑ ฮตฯ€ฮนฮปฮญฮพฮตฯ„ฮต ฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚ ฯ€ฮฟฯ… ฯƒฮฑฯ‚ ฮตฮฝฮดฮนฮฑฯ†ฮญฯฮฟฯ…ฮฝ ฮบฮฑฮน ฮฝฮฑ ฯ„ฮนฯ‚ ฯ†ฮนฮปฯ„ฯฮฌฯฮตฯ„ฮต. ฮˆฯ‡ฮฟฯ…ฮผฮต ฯ„ฯฮฏฮฑ ฮฒฮฎฮผฮฑฯ„ฮฑ:

  • ฮ’ฮฎฮผฮฑ 1: ฮ•ฮนฯƒฮฑฮณฯ‰ฮณฮฎ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ: ฮ•ฮนฯƒฮฑฮณฮฌฮณฮตฯ„ฮต ฯ„ฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฮฑ gps
  • ฮ’ฮฎฮผฮฑ 2: ฮ•ฯ€ฮนฮปฮฟฮณฮฎ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ: ฮ•ฯ€ฮนฮปฮญฮพฯ„ฮต GoingTo ฮบฮฑฮน DayOfWeek
  • ฮ’ฮฎฮผฮฑ 3: ฮฆฮนฮปฯ„ฯฮฌฯฮนฯƒฮผฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ: ฮ•ฯ€ฮนฯƒฯ„ฯฮฟฯ†ฮฎ ฮผฯŒฮฝฮฟ ฯƒฯ„ฮฟ ฯƒฯ€ฮฏฯ„ฮน ฮบฮฑฮน ฮคฮตฯ„ฮฌฯฯ„ฮท

ฮœฯ€ฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฯƒฮฟฯ…ฮผฮต ฯ„ฮฟฮฝ ฮดฯฯƒฮบฮฟฮปฮฟ ฯ„ฯฯŒฯ€ฮฟ ฮณฮนฮฑ ฮฝฮฑ ฯ„ฮฟ ฮบฮฌฮฝฮฟฯ…ฮผฮต:

# Step 1
step_1 <- read.csv(PATH)

# Step 2 
step_2 <- select(step_1, GoingTo, DayOfWeek)

# Step 3 
step_3 <- filter(step_2, GoingTo == "Home", DayOfWeek == "Wednesday")

head(step_3)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

##   GoingTo DayOfWeek
## 1    Home Wednesday
## 2    Home Wednesday
## 3    Home Wednesday
## 4    Home Wednesday
## 5    Home Wednesday
## 6    Home Wednesday	

ฮ‘ฯ…ฯ„ฯŒฯ‚ ฮดฮตฮฝ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑฯ‚ ฮฒฮฟฮปฮนฮบฯŒฯ‚ ฯ„ฯฯŒฯ€ฮฟฯ‚ ฮณฮนฮฑ ฮฝฮฑ ฮตฮบฯ„ฮตฮปฮญฯƒฮตฯ„ฮต ฯ€ฮฟฮปฮปฮญฯ‚ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮตฯ‚, ฮตฮนฮดฮนฮบฮฌ ฯƒฮต ฮผฮนฮฑ ฮบฮฑฯ„ฮฌฯƒฯ„ฮฑฯƒฮท ฮผฮต ฯ€ฮฟฮปฮปฮฌ ฮฒฮฎฮผฮฑฯ„ฮฑ. ฮคฮฟ ฯ€ฮตฯฮนฮฒฮฌฮปฮปฮฟฮฝ ฮบฮฑฯ„ฮฑฮปฮฎฮณฮตฮน ฮผฮต ฯ€ฮฟฮปฮปฮฌ ฮฑฯ€ฮฟฮธฮทฮบฮตฯ…ฮผฮญฮฝฮฑ ฮฑฮฝฯ„ฮนฮบฮตฮฏฮผฮตฮฝฮฑ.

ฮ‘ฯ‚ ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฯƒฮฟฯ…ฮผฮต ฯ„ฮฟฮฝ ฯ„ฮตฮปฮตฯƒฯ„ฮฎ ฮฑฮณฯ‰ฮณฮฟฯ %>% ฮฑฮฝฯ„' ฮฑฯ…ฯ„ฮฟฯ. ฮงฯฮตฮนฮฌฮถฮตฯ„ฮฑฮน ฮผฯŒฮฝฮฟ ฮฝฮฑ ฮฟฯฮฏฯƒฮฟฯ…ฮผฮต ฯ„ฮฟ ฯ€ฮปฮฑฮฏฯƒฮนฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฯ€ฮฟฯ… ฯ‡ฯฮทฯƒฮนฮผฮฟฯ€ฮฟฮนฮฎฮธฮทฮบฮต ฯƒฯ„ฮทฮฝ ฮฑฯฯ‡ฮฎ ฮบฮฑฮน ฯŒฮปฮท ฮท ฮดฮนฮฑฮดฮนฮบฮฑฯƒฮฏฮฑ ฮธฮฑ ฯ€ฯฮฟฮญฮปฮธฮตฮน ฮฑฯ€ฯŒ ฮฑฯ…ฯ„ฯŒ.

ฮ’ฮฑฯƒฮนฮบฮฎ ฯƒฯฮฝฯ„ฮฑฮพฮท ฯ„ฮฟฯ… ฮฑฮณฯ‰ฮณฮฟฯ

New_df <- df %>%
step 1 %>%
step 2 %>%
...
arguments
- New_df: Name of the new data frame 
- df: Data frame used to compute the step
- step: Instruction for each step
- Note: The last instruction does not need the pipe operator `%`, you don't have instructions to pipe anymore
Note: Create a new variable is optional. If not included, the output will be displayed in the console.

ฮœฯ€ฮฟฯฮตฮฏฯ„ฮต ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฎฯƒฮตฯ„ฮต ฯ„ฮฟฮฝ ฯ€ฯฯŽฯ„ฮฟ ฯƒฮฑฯ‚ ฯƒฯ‰ฮปฮฎฮฝฮฑ ฮฑฮบฮฟฮปฮฟฯ…ฮธฯŽฮฝฯ„ฮฑฯ‚ ฯ„ฮฑ ฮฒฮฎฮผฮฑฯ„ฮฑ ฯ€ฮฟฯ… ฮฑฯ€ฮฑฯฮนฮธฮผฮฟฯฮฝฯ„ฮฑฮน ฯ€ฮฑฯฮฑฯ€ฮฌฮฝฯ‰.

# Create the data frame filter_home_wed.It will be the object return at the end of the pipeline
filter_home_wed <- 

#Step 1
read.csv(PATH) % > % 

#Step 2
select(GoingTo, DayOfWeek) % > % 

#Step 3
filter(GoingTo == "Home",DayOfWeek == "Wednesday")
identical(step_3, filter_home_wed)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

## [1] TRUE

ฮ•ฮฏฮผฮฑฯƒฯ„ฮต ฮญฯ„ฮฟฮนฮผฮฟฮน ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ…ฯฮณฮฎฯƒฮฟฯ…ฮผฮต ฮญฮฝฮฑ ฮตฮบฯ€ฮปฮทฮบฯ„ฮนฮบฯŒ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮผฮต ฯ„ฮฟฮฝ ฯ‡ฮตฮนฯฮนฯƒฯ„ฮฎ ฯ„ฮฟฯ… ฮฑฮณฯ‰ฮณฮฟฯ.

ฮบฮฑฮฝฮฟฮฝฮฏฮถฯ‰()

ฮฃฯ„ฮฟ ฯ€ฯฮฟฮทฮณฮฟฯฮผฮตฮฝฮฟ ฯƒฮตฮผฮนฮฝฮฌฯฮนฮฟ, ฮผฮฑฮธฮฑฮฏฮฝฮตฯ„ฮต ฯ€ฯŽฯ‚ ฮฝฮฑ ฯ„ฮฑฮพฮนฮฝฮฟฮผฮตฮฏฯ„ฮต ฯ„ฮนฯ‚ ฯ„ฮนฮผฮญฯ‚ ฮผฮต ฯ„ฮท ฯƒฯ…ฮฝฮฌฯฯ„ฮทฯƒฮท sort(). ฮ— ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท dplyr ฮญฯ‡ฮตฮน ฯ„ฮท ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮฑ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮทฯ‚. ฮ›ฮตฮนฯ„ฮฟฯ…ฯฮณฮตฮฏ ฯƒฮฑฮฝ ฮณฮฟฯฯฮน ฮผฮต ฯ„ฮฟฮฝ ฮฑฮณฯ‰ฮณฯŒ. ฮคฮฟ ฯฮฎฮผฮฑ arrange() ฮผฯ€ฮฟฯฮตฮฏ ฮฝฮฑ ฮฑฮฝฮฑฮดฮนฮฑฯ„ฮฌฮพฮตฮน ฮผฮฏฮฑ ฮฎ ฯ€ฮฟฮปฮปฮญฯ‚ ฯƒฮตฮนฯฮญฯ‚, ฮตฮฏฯ„ฮต ฮฑฯฮพฮฟฯ…ฯƒฮฑ (ฯ€ฯฮฟฮตฯ€ฮนฮปฮฟฮณฮฎ) ฮตฮฏฯ„ฮต ฯ†ฮธฮฏฮฝฮฟฯ…ฯƒฮฑ.

- `arrange(A)`: Ascending sort of variable A
- `arrange(A, B)`: Ascending sort of variable A and B
- `arrange(desc(A), B)`: Descending sort of variable A and ascending sort of B

ฮœฯ€ฮฟฯฮฟฯฮผฮต ฮฝฮฑ ฯ„ฮฑฮพฮนฮฝฮฟฮผฮฎฯƒฮฟฯ…ฮผฮต ฯ„ฮทฮฝ ฮฑฯ€ฯŒฯƒฯ„ฮฑฯƒฮท ฮฑฮฝฮฌ ฯ€ฯฮฟฮฟฯฮนฯƒฮผฯŒ.

# Sort by destination and distance
step_2_df <-step_1_df %>%
	arrange(GoingTo, Distance)
head<step_2_df)

ฮ ฮฑฯฮฑฮณฯ‰ฮณฮฎ:

##     X       Date StartTime DayOfWeek GoingTo Distance MaxSpeed AvgSpeed
## 1 193  7/25/2011     08:06    Monday     GSK    48.32    121.2     63.4
## 2 196  7/21/2011     07:59  Thursday     GSK    48.35    129.3     81.5
## 3 198  7/20/2011     08:24 Wednesday     GSK    48.50    125.8     75.7
## 4 189  7/27/2011     08:15 Wednesday     GSK    48.82    124.5     70.4
## 5  95 10/11/2011     08:25   Tuesday     GSK    48.94    130.8     85.7
## 6 171  8/10/2011     08:13 Wednesday     GSK    48.98    124.8     72.8
##   AvgMovingSpeed FuelEconomy TotalTime MovingTime Take407All
## 1           78.4        8.45      45.7       37.0         No
## 2           89.0        8.28      35.6       32.6        Yes
## 3           87.3        7.89      38.5       33.3        Yes
## 4           77.8        8.45      41.6       37.6         No
## 5           93.2        7.81      34.3       31.5        Yes
## 6           78.8        8.54      40.4       37.3         No

ฮ ฮตฯฮฏฮปฮทฯˆฮท

ฮฃฯ„ฮฟฮฝ ฯ€ฮฑฯฮฑฮบฮฌฯ„ฯ‰ ฯ€ฮฏฮฝฮฑฮบฮฑ, ฯƒฯ…ฮฝฮฟฯˆฮฏฮถฮตฯ„ฮต ฯŒฮปฮตฯ‚ ฯ„ฮนฯ‚ ฮปฮตฮนฯ„ฮฟฯ…ฯฮณฮฏฮตฯ‚ ฯ€ฮฟฯ… ฮผฮฌฮธฮฑฯ„ฮต ฮบฮฑฯ„ฮฌ ฯ„ฮท ฮดฮนฮฌฯฮบฮตฮนฮฑ ฯ„ฮฟฯ… ฯƒฮตฮผฮนฮฝฮฑฯฮฏฮฟฯ….

ฮกฮฎฮผฮฑ ฮฃฮบฮฟฯ€ฯŒฯ‚ Code ฮตฮพฮฎฮณฮทฯƒฮท
ฮผฮฑฯ„ฮนฮฌ ฮตฮปฮญฮณฮพฯ„ฮต ฯ„ฮท ฮดฮฟฮผฮฎ ฮตฮฝฯŒฯ‚ df
glimpse(df)
ฮ ฮฑฮฝฮฟฮผฮฟฮนฯŒฯ„ฯ…ฯ€ฮฟ ฮผฮต ฯ„ฮฟ str()
ฮตฯ€ฮนฮปฮญฮณฯ‰() ฮ•ฯ€ฮนฮปฮญฮพฯ„ฮต/ฮตฮพฮฑฮนฯฮญฯƒฯ„ฮต ฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚
select(df, A, B ,C)
ฮ•ฯ€ฮนฮปฮญฮพฯ„ฮต ฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚ A, B ฮบฮฑฮน C
select(df, A:C)
ฮ•ฯ€ฮนฮปฮญฮพฯ„ฮต ฯŒฮปฮตฯ‚ ฯ„ฮนฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚ ฮฑฯ€ฯŒ ฯ„ฮฟ A ฮญฯ‰ฯ‚ ฯ„ฮฟ C
select(df, -C)
ฮ•ฮพฮฑฮนฯฮญฯƒฯ„ฮต ฯ„ฮฟ C
ฯ†ฮฏฮปฯ„ฯฮฟ() ฮฆฮนฮปฯ„ฯฮฌฯฮตฯ„ฮต ฯ„ฮฟ df ฮผฮต ฮฒฮฌฯƒฮท ฮผฮฏฮฑ ฮฎ ฯ€ฮฟฮปฮปฮญฯ‚ ฯƒฯ…ฮฝฮธฮฎฮบฮตฯ‚
filter(df, condition1)
ฮœฮฏฮฑ ฯ€ฯฮฟฯ‹ฯ€ฯŒฮธฮตฯƒฮท
filter(df, condition1
ฮฑฯฯ‡ฮฎ 2)
ฮบฮฑฮฝฮฟฮฝฮฏฮถฯ‰() ฮคฮฑฮพฮนฮฝฮฟฮผฮฎฯƒฯ„ฮต ฯ„ฮฟ ฯƒฯฮฝฮฟฮปฮฟ ฮดฮตฮดฮฟฮผฮญฮฝฯ‰ฮฝ ฮผฮต ฮผฮฏฮฑ ฮฎ ฯ€ฮฟฮปฮปฮญฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮญฯ‚
arrange(A)
ฮ‘ฯฮพฮฟฯ…ฯƒฮฑ ฮผฮฟฯฯ†ฮฎ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎฯ‚ ฮ‘
arrange(A, B)
ฮ‘ฯฮพฮฟฯ…ฯƒฮฑ ฮผฮฟฯฯ†ฮฎ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฯŽฮฝ ฮ‘ ฮบฮฑฮน ฮ’
arrange(desc(A), B)
ฮฆฮธฮฏฮฝฮฟฯ…ฯƒฮฑ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎฯ‚ ฮ‘ ฮบฮฑฮน ฮฑฯฮพฮฟฯ…ฯƒฮฑ ฯ„ฮฑฮพฮนฮฝฯŒฮผฮทฯƒฮท ฯ„ฮทฯ‚ ฮผฮตฯ„ฮฑฮฒฮปฮทฯ„ฮฎฯ‚ ฮ’
%>% ฮ”ฮทฮผฮนฮฟฯ…ฯฮณฮฎฯƒฯ„ฮต ฮญฮฝฮฑฮฝ ฮฑฮณฯ‰ฮณฯŒ ฮผฮตฯ„ฮฑฮพฯ ฮบฮฌฮธฮต ฮฒฮฎฮผฮฑฯ„ฮฟฯ‚
step 1 %>% step 2 %>% step 3

ฮฃฯ…ฮฝฮฟฯˆฮฏฯƒฯ„ฮต ฮฑฯ…ฯ„ฮฎฮฝ ฯ„ฮทฮฝ ฮฑฮฝฮฌฯฯ„ฮทฯƒฮท ฮผฮต: