nama_vector <- c(5,FALSE,"true","8.3","Statistika")
nama_vector
## [1] "5"          "FALSE"      "true"       "8.3"        "Statistika"
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"

` # Perbedaan yang diperoleh adalah vector hanya dapat menyimpan satu tipe data sehingga jika terdapat tipe data berbeda maka akan dilakukan konversi otomatis, sedangkan list dapat menyimpan berbagai tipe data dalam satu objek tanpa mengubah tipe aslinya.

kelompok_kkn <- data.frame(
  nama = c("Awa","Jihan","Nafisah","Nessa","Byan",
           "Koji","Apit","Berno","Kapi","Aldo"),
  
  nim = c(240401001,240401002,240401003,240401004,240401005,
          240401006,240401007,240401008,240401009,240401010),
  
  prodi = factor(c("Tata Busana","Perhotelan","Teknik Geologi",
                   "Psikologi","Teknik mesin","Teknik mesin",
                   "Manajemen Industri","Teknik energi","Perfilman","Teknik sipil"))
)

kelompok_kkn
##       nama       nim              prodi
## 1      Awa 240401001        Tata Busana
## 2    Jihan 240401002         Perhotelan
## 3  Nafisah 240401003     Teknik Geologi
## 4    Nessa 240401004          Psikologi
## 5     Byan 240401005       Teknik mesin
## 6     Koji 240401006       Teknik mesin
## 7     Apit 240401007 Manajemen Industri
## 8    Berno 240401008      Teknik energi
## 9     Kapi 240401009          Perfilman
## 10    Aldo 240401010       Teknik sipil
#output kolom
kelompok_kkn[,1]
##  [1] "Awa"     "Jihan"   "Nafisah" "Nessa"   "Byan"    "Koji"    "Apit"   
##  [8] "Berno"   "Kapi"    "Aldo"
#output baris
kelompok_kkn[1,]
##   nama       nim       prodi
## 1  Awa 240401001 Tata Busana
#output elemen khusus
kelompok_kkn[1,2]
## [1] 240401001

#Pemanggilan data dalam data frame dapat dilakukan dengan index maupun nama kolom. Pemanggilan dengan index bergantung pada posisi baris dan kolom dalam tabel, sedangkan pemanggilan dengan nama kolom lebih jelas, mudah dibaca, dan tidak terpengaruh oleh perubahan urutan kolom. Oleh karena itu, penggunaan nama kolom lebih direkomendasikan dalam pengolahan data.

# 4 
data_miss <- data.frame(
  nama = c(NA, "Jihan", "Nafisah", "Nessa", "Byan", "Koji", "Apit", "Berno", "Kapi", NA),
  
  nim = c(2404010001,2404010002, 2404010003, 2404010004, 2404010005, NA,   NA, 2404010008, 2404010009, 2404010010 ),
  
  prodi = factor(c("Tata Busana","Perhotelan","Teknik Geologi",
                   "Psikologi","Teknik mesin","Teknik mesin",
                   "Manajemen Industri", NA, NA,"Teknik sipil"))
) 
is.na(data_miss)
##        nama   nim prodi
##  [1,]  TRUE FALSE FALSE
##  [2,] FALSE FALSE FALSE
##  [3,] FALSE FALSE FALSE
##  [4,] FALSE FALSE FALSE
##  [5,] FALSE FALSE FALSE
##  [6,] FALSE  TRUE FALSE
##  [7,] FALSE  TRUE FALSE
##  [8,] FALSE FALSE  TRUE
##  [9,] FALSE FALSE  TRUE
## [10,]  TRUE FALSE FALSE
#posisi data missing
which(is.na(data_miss), arr.ind = TRUE)
##      row col
## [1,]   1   1
## [2,]  10   1
## [3,]   6   2
## [4,]   7   2
## [5,]   8   3
## [6,]   9   3