MulaiMulai sekarang secara gratis

Apa tipe saya?

Anda baru saja melihat empat fungsi yang membantu Anda menentukan tipe variabel yang sedang digunakan. class() (docs) dan typeof() (docs) penting dan akan sering berguna. mode() (docs) dan storage.mode() (docs) sebagian besar ada untuk kompatibilitas dengan bahasa pemrograman S.

Dalam latihan ini, Anda akan melihat apa yang dikembalikan oleh fungsi-fungsi tersebut untuk berbagai tipe variabel. Ada beberapa tipe yang lebih jarang yang mungkin belum pernah Anda temui.

  • array (docs): Generalisasi dari matriks dengan jumlah dimensi sebarang.
  • formula (docs): Digunakan oleh fungsi pemodelan dan pemetaan (plotting) untuk mendefinisikan hubungan antar variabel.

Perhatikan juga bahwa ada tiga jenis fungsi di R.

  • Sebagian besar fungsi yang Anda temui disebut closure.
  • Beberapa fungsi penting, seperti length() (docs) dikenal sebagai fungsi builtin, yang menggunakan mekanisme evaluasi khusus agar berjalan lebih cepat.
  • Konstruksi bahasa, seperti if (docs) dan while (docs) juga merupakan fungsi! Mereka dikenal sebagai fungsi special.

Latihan ini adalah bagian dari kursus

Pemrograman Berorientasi Objek dengan S3 dan R6 di R

Lihat Kursus

Petunjuk latihan

Fungsi type_info() telah didefinisikan sebelumnya di ruang kerja Anda untuk mengembalikan class(), mode(), typeof(), dan storage.mode() dari inputnya. (Ketik type_info di konsol untuk melihat cara kerjanya.)

  • Buat some_vars, list berisi objek contoh yang disediakan di editor.
  • Gunakan lapply untuk melakukan perulangan pada elemen some_vars, memanggil type_info() pada masing-masing objek contoh untuk menelusuri tipenya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Look at the definition of type_info()
type_info

# Create list of example variables
some_vars <- list(
  an_integer_vector = rpois(24, lambda = 5),
  a_numeric_vector = rbeta(24, shape1 = 1, shape2 = 1),
  an_integer_array = array(rbinom(24, size = 8, prob = 0.5), dim = c(2, 3, 4)),
  a_numeric_array = array(rweibull(24, shape = 1, scale = 1), dim = c(2, 3, 4)),
  a_data_frame = data.frame(int = rgeom(24, prob = 0.5), num = runif(24)),
  a_factor = factor(month.abb),
  a_formula = y ~ x,
  a_closure_function = mean,
  a_builtin_function = length,
  a_special_function = `if`
)

# Loop over some_vars calling type_info() on each element to explore them
___
Edit dan Jalankan Kode