Latihan Penugasan Tugas 1

1. Ketikkan perintah di bawah ini dan berikan pernyataan apa saja yang dapat kalian peroleh dari perintah tersebut!

nama_vector <- c(5, FALSE, "true", "8.3", "Statistika")
nama_vector
## [1] "5"          "FALSE"      "true"       "8.3"        "Statistika"

Semua elemen dalam vector otomatis dikonversi ke tipe data karakter (character) atau string.

2. Cobalah untuk membuat List dengan nama contoh_list yang memiliki elemen sama dengan Latihan no.1, dan panggil seluruh elemen. Berikan perbedaan list dan vector yang dapat kalian peroleh setelah melakukan perintah tersebut

contoh_list <- list(5, FALSE, "true", "8.3", "Statistika")
contoh_list
## [[1]]
## [1] 5
## 
## [[2]]
## [1] FALSE
## 
## [[3]]
## [1] "true"
## 
## [[4]]
## [1] "8.3"
## 
## [[5]]
## [1] "Statistika"

Jika Vector (c()) akan mengonversi semua elemen menjadi karakter (character). Sedangkan List (list()) menyimpan setiap elemen dengan tipe aslinya, sehingga list dapat menyimpan data dengan tipe berbeda.

3. Dalam melakukan pemanggilan elemen, kita dapat menggunakan index elemen atau nama kolom. Buatlah data frame dengan nama kelompok_kkn berupa tabel tiga kolom terdiri atas: nama,nim, dan prodi. Isikan minimal 10 baris. Lakukan eksperimen pemanggilan isi tabel, meliputi pemanggilan baris, kolom, dan elemen tabel. Jelaskan mengenai perbedaan cara pemanggilan dalam data frame tersebut.

kelompok_kkn <- data.frame(
  nama = c("obeng", "virgi", "fahsyah", "ibnu", "farid", "chandy", "luna", "gibran", "joko", "bahlul"),
  nim = c("290001", "280002", "270003", "260004", "250005", "240006", "230007", "220008", "210009", "200010"),
  prodi = c("Statistika dan Sains Data", "Teknik Mesin", "Pendidikan Ekonomi ", "Fisika", "Kimia", "Pertambangan", "Matematika", "Sastra Inggris", "Teknik Sipil", "Hukum")
)
kelompok_kkn
##       nama    nim                     prodi
## 1    obeng 290001 Statistika dan Sains Data
## 2    virgi 280002              Teknik Mesin
## 3  fahsyah 270003       Pendidikan Ekonomi 
## 4     ibnu 260004                    Fisika
## 5    farid 250005                     Kimia
## 6   chandy 240006              Pertambangan
## 7     luna 230007                Matematika
## 8   gibran 220008            Sastra Inggris
## 9     joko 210009              Teknik Sipil
## 10  bahlul 200010                     Hukum

Memanggil seluruh kolom

kelompok_kkn$nama # Memanggil seluruh kolom "nama"
##  [1] "obeng"   "virgi"   "fahsyah" "ibnu"    "farid"   "chandy"  "luna"   
##  [8] "gibran"  "joko"    "bahlul"

Memanggil Seluruh Baris

kelompok_kkn[6, ] # Memanggil seluruh baris ketiga
##     nama    nim        prodi
## 6 chandy 240006 Pertambangan

Elemen Spesifik

kelompok_kkn[3, 2] # Memanggil baris ketiga kolom kedua
## [1] "270003"

Beberapa Baris

kelompok_kkn[1:7, ] # Menampilkan baris pertama sampai kelima
##      nama    nim                     prodi
## 1   obeng 290001 Statistika dan Sains Data
## 2   virgi 280002              Teknik Mesin
## 3 fahsyah 270003       Pendidikan Ekonomi 
## 4    ibnu 260004                    Fisika
## 5   farid 250005                     Kimia
## 6  chandy 240006              Pertambangan
## 7    luna 230007                Matematika

Beberapa Kolom

kelompok_kkn[, c("nama", "prodi")] # Menampilkan kolom "nama" dan "prodi"
##       nama                     prodi
## 1    obeng Statistika dan Sains Data
## 2    virgi              Teknik Mesin
## 3  fahsyah       Pendidikan Ekonomi 
## 4     ibnu                    Fisika
## 5    farid                     Kimia
## 6   chandy              Pertambangan
## 7     luna                Matematika
## 8   gibran            Sastra Inggris
## 9     joko              Teknik Sipil
## 10  bahlul                     Hukum

4. Buatlah data frame yang beberapa datanya berupa missing value. Carilah letak atau posisi data yang berupa missing value tersebut dengan menggunakan perintah is.na.

data_kkn <- data.frame(
  nama = c("obeng", "virgi", "fahsyah", "ibnu", "farid", "chandy", NA ,"gibran", "joko", "bahlul"),
  nim = c("210001", "210002", "210003", NA, "210005", "210006", "210007", "210008", "210009", "210010"),
  prodi = c("Statistika dan Sains Data", "Teknik Mesin", NA, "Fisika", "Kimia", "Pertambangan", "Matematika", "Sastra Inggris", "Teknik Sipil", NA)
)

data_kkn
##       nama    nim                     prodi
## 1    obeng 210001 Statistika dan Sains Data
## 2    virgi 210002              Teknik Mesin
## 3  fahsyah 210003                      <NA>
## 4     ibnu   <NA>                    Fisika
## 5    farid 210005                     Kimia
## 6   chandy 210006              Pertambangan
## 7     <NA> 210007                Matematika
## 8   gibran 210008            Sastra Inggris
## 9     joko 210009              Teknik Sipil
## 10  bahlul 210010                      <NA>

Mencari posisi Missing Value

Menampilkan Boolean Missing Value

is.na(data_kkn)
##        nama   nim prodi
##  [1,] FALSE FALSE FALSE
##  [2,] FALSE FALSE FALSE
##  [3,] FALSE FALSE  TRUE
##  [4,] FALSE  TRUE FALSE
##  [5,] FALSE FALSE FALSE
##  [6,] FALSE FALSE FALSE
##  [7,]  TRUE FALSE FALSE
##  [8,] FALSE FALSE FALSE
##  [9,] FALSE FALSE FALSE
## [10,] FALSE FALSE  TRUE

Menampilkan baris yang mengandung Missing Value

data_kkn[rowSums(is.na(data_kkn)) > 0, ]
##       nama    nim      prodi
## 3  fahsyah 210003       <NA>
## 4     ibnu   <NA>     Fisika
## 7     <NA> 210007 Matematika
## 10  bahlul 210010       <NA>

Menampilkan Indeks Baris dan Kolom dengan Missing Value

which(is.na(data_kkn), arr.ind = TRUE)
##      row col
## [1,]   7   1
## [2,]   4   2
## [3,]   3   3
## [4,]  10   3