Dalam visualisasi data tidak jarang kita menadapatkan bentuk yang tidak sesuai dengan harapan. Pada kesempatan kali ini kita akan belajar membuat variabel baru bahkan mengganti variabel yang ada agar data lebih mudah kita kerjakan.
Kita akan mengubah data yang ada menggunakan paket dplyr dan data penerbangan yang berangkat dari kota New York di Tahun 2013.
flights
## Error in eval(expr, envir, enclos): object 'flights' not found
#> # A tibble: 336,776 x 19
#> year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#> <int> <int> <int> <int> <int> <dbl> <int> <int>
#> 1 2013 1 1 517 515 2 830 819
#> 2 2013 1 1 533 529 4 850 830
#> 3 2013 1 1 542 540 2 923 850
#> 4 2013 1 1 544 545 -1 1004 1022
#> 5 2013 1 1 554 600 -6 812 837
#> 6 2013 1 1 554 558 -4 740 728
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> # carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> # air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>
dplyr Dasar 1. Memfilter baris dengan filter () Contoh: memilih semua penerbangan pada tanggal 1 Januari
filter(flights, month == 1, day == 1)
## Error in match.arg(method): object 'day' not found
#> # A tibble: 842 x 19
#> year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#> <int> <int> <int> <int> <int> <dbl> <int> <int>
#> 1 2013 1 1 517 515 2 830 819
#> 2 2013 1 1 533 529 4 850 830
#> 3 2013 1 1 542 540 2 923 850
#> 4 2013 1 1 544 545 -1 1004 1022
#> 5 2013 1 1 554 600 -6 812 837
#> 6 2013 1 1 554 558 -4 740 728
#> # … with 836 more rows, and 11 more variables: arr_delay <dbl>, carrier <chr>,
#> # flight <int>, tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>,
#> # distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>
menyimpan data penerbangan pada 1 Januari
jan1 <- filter(flights, month == 1, day == 1)
## Error in match.arg(method): object 'day' not found
mncetak dan meyimpan dalam sebuah variabel dapat dilakukan dengan memberi tanda kurung
(dec25 <- filter(flights, month == 12, day == 25))
## Error in match.arg(method): object 'day' not found
#> # A tibble: 719 x 19
#> year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#> <int> <int> <int> <int> <int> <dbl> <int> <int>
#> 1 2013 12 25 456 500 -4 649 651
#> 2 2013 12 25 524 515 9 805 814
#> 3 2013 12 25 542 540 2 832 850
#> 4 2013 12 25 546 550 -4 1022 1027
#> 5 2013 12 25 556 600 -4 730 745
#> 6 2013 12 25 557 600 -3 743 752
#> # … with 713 more rows, and 11 more variables: arr_delay <dbl>, carrier <chr>,
#> # flight <int>, tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>,
#> # distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>
Perbandingan gunakan near90
near(sqrt(2) ^ 2, 2)
## Error in near(sqrt(2)^2, 2): could not find function "near"
#> [1] TRUE
near(1 / 49 * 49, 1)
## Error in near(1/49 * 49, 1): could not find function "near"
#> [1] TRUE
Operator logika x %in% y untuk menyeleksi setiap baris dimana x adalah satu diantara nilai y
nov_dec <- filter(flights, month %in% c(11, 12))
## Error in as.ts(x): object 'flights' not found
! (X & y) sama dengan! X | ! y, dan! (x | y) sama dengan! x &! y. Misalnya, jika Anda ingin menemukan penerbangan yang tidak tertunda (pada kedatangan atau keberangkatan) lebih dari dua jam, Anda dapat menggunakan salah satu dari dua filter berikut:
filter(flights, !(arr_delay > 120 | dep_delay > 120))
## Error in as.ts(x): object 'flights' not found
filter(flights, arr_delay <= 120, dep_delay <= 120)
## Error in match.arg(method): object 'dep_delay' not found
Nilai yang hilang
NA > 5
## [1] NA
#> [1] NA
10 == NA
## [1] NA
#> [1] NA
NA + 10
## [1] NA
#> [1] NA
NA / 2
## [1] NA
#> [1] NA
Menyusun baris dengan arrange()
arrange(flights, year, month, day)
## Error in arrange(flights, year, month, day): could not find function "arrange"
#> # A tibble: 336,776 x 19
#> year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#> <int> <int> <int> <int> <int> <dbl> <int> <int>
#> 1 2013 1 1 517 515 2 830 819
#> 2 2013 1 1 533 529 4 850 830
#> 3 2013 1 1 542 540 2 923 850
#> 4 2013 1 1 544 545 -1 1004 1022
#> 5 2013 1 1 554 600 -6 812 837
#> 6 2013 1 1 554 558 -4 740 728
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> # carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> # air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>
menggunakan desc()
arrange(flights, desc(dep_delay))
## Error in arrange(flights, desc(dep_delay)): could not find function "arrange"
#> # A tibble: 336,776 x 19
#> year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#> <int> <int> <int> <int> <int> <dbl> <int> <int>
#> 1 2013 1 9 641 900 1301 1242 1530
#> 2 2013 6 15 1432 1935 1137 1607 2120
#> 3 2013 1 10 1121 1635 1126 1239 1810
#> 4 2013 9 20 1139 1845 1014 1457 2210
#> 5 2013 7 22 845 1600 1005 1044 1815
#> 6 2013 4 10 1100 1900 960 1342 2211
#> # … with 336,770 more rows, and 11 more variables: arr_delay <dbl>,
#> # carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
#> # air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>, time_hour <dttm>
Memilih kolom dengan select()
select(flights, year, month, day)
## Error in select(flights, year, month, day): could not find function "select"
select(flights, year:day)
## Error in select(flights, year:day): could not find function "select"
select(flights, -(year:day))
## Error in select(flights, -(year:day)): could not find function "select"
rename () untuk mengganti nama variabel dan menyimpan semua variabel yang tidak disebutkan secara eksplisit:
rename(flights, tail_num = tailnum)
## Error in rename(flights, tail_num = tailnum): could not find function "rename"
memindahkan beberapa variabel di awal dataframe
select(flights, time_hour, air_time, everything())
## Error in select(flights, time_hour, air_time, everything()): could not find function "select"
menambahkan variabel baru dengan mutate ()
mutate(flights_sml,
gain = dep_delay - arr_delay,
hours = air_time / 60,
gain_per_hour = gain / hours
)
## Error in mutate(flights_sml, gain = dep_delay - arr_delay, hours = air_time/60, : could not find function "mutate"
transmute() untuk menyimpan variabel baru
transmute(flights,
gain = dep_delay - arr_delay,
hours = air_time / 60,
gain_per_hour = gain / hours
)
## Error in transmute(flights, gain = dep_delay - arr_delay, hours = air_time/60, : could not find function "transmute"
modular kumpulan data penerbangan, jam dan menit dari dep_time
transmute(flights,
dep_time,
hour = dep_time %/% 100,
minute = dep_time %% 100
)
## Error in transmute(flights, dep_time, hour = dep_time%/%100, minute = dep_time%%100): could not find function "transmute"