Ada berbagai cara agar data dapat disimpan, termasuk file teks terstruktur seperti CSV atau tabdelimited, atau format biner yang lebih kompleks. Namun, ada format antara yang tekstual, tetapi tidak sesederhana seperti CSV. Format ini asli R dan agak mudah dibaca karena sifat tekstualnya.
Seseorang dapat membuat representasi yang lebih deskriptif dari suatu objek R dengan menggunakan fungsi-fungsi dput () atau dump (). Fungsi dump () dan dput () berguna karena format tekstual yang dihasilkan dapat diedit, dan dalam kasus korupsi, berpotensi dapat dipulihkan. Tidak seperti menulis tabel atau file CSV, dump () dan dput () menyimpan metadata (mengorbankan beberapa keterbacaan), sehingga pengguna lain tidak harus menentukan semuanya lagi. Sebagai contoh, kita dapat mempertahankan kelas dari setiap kolom tabel atau tingkat variabel faktor.
Format tekstual dapat bekerja lebih baik dengan program kontrol seperti subversion atau git yang hanya dapat melacak perubahan secara berarti dalam file teks. Selain itu, format teks dapat berumur panjang; jika ada corruption di suatu file, dapat lebih mudah untuk memperbaiki masalah karena seseorang dapat membuka file dalam editor dan melihatnya (meskipun ini mungkin hanya akan dilakukan dalam skenario terburuk!).
Ada beberapa kerugian untuk menggunakan format tekstual menengah ini. Formatnya tidak terlalu efisien, karena semua metadata ditentukan. Juga, itu benar-benar hanya dapat dibaca sebagian. Dalam beberapa kasus mungkin lebih baik untuk memiliki data yang disimpan dalam file CSV dan kemudian memiliki file kode terpisah yang menentukan metadata.
Menggunakan dput () dan dump ()
Salah satu cara untuk melewatkan data adalah dengan menguraikan objek R dengan dput () dan membacanya kembali (menguraikannya) menggunakan dget ().
Perhatikan bahwa output dput () dalam bentuk kode R dan mempertahankan metadata seperti kelas objek, nama baris, dan nama kolom. Output dari dput () juga dapat disimpan langsung ke file.
Beberapa objek dapat diuraikan sekaligus menggunakan fungsi dump dan membaca kembali menggunakan source.
Kita dapat dump () R objek ke file dengan meneruskan vektor karakter dari nama mereka. Setelah nilai x dan y diremove maka kita tidak bisa memanggil mereka kembali sehingga untuk memanggil kembali x dan y, kita bisa memanggil file yang telah kita simpan.
Kebalikan dari dump() adalah source(). Dengan menggunakan source kita dapat kembali memanggil x dan y yang telah kita hapus.
Format Binary
Pelengkap format tekstual adalah format biner, yang kadang-kadang perlu digunakan untuk tujuan efisiensi, atau karena tidak ada cara yang berguna untuk merepresentasikan data dengan cara tekstual. Selain itu, dengan data numerik, seseorang dapat sering kehilangan presisi saat mengonversi ke dan dari format teks, jadi lebih baik untuk tetap menggunakan format biner.
Fungsi-fungsi kunci untuk mengkonversi objek R menjadi format biner adalah save (), save.image (), dan serialize (). Objek R dapat disimpan ke file menggunakan fungsi save ().
Jika Anda memiliki banyak objek yang ingin Anda simpan ke file, Anda dapat menyimpan semua objek di ruang kerja Anda menggunakan fungsi save.image ().
Perhatikan bahwa saya telah menggunakan ekstensi .rda saat menggunakan save () dan ekstensi .RData saat menggunakan save.image (). Ini hanya preferensi pribadi saya; Anda dapat menggunakan ekstensi apa pun yang Anda inginkan. Fungsi save () dan save.image () tidak peduli. Namun, .rda dan .RData adalah ekstensi yang cukup umum dan Anda mungkin ingin menggunakannya karena dikenali oleh perangkat lunak lain.
Fungsi serialize () digunakan untuk mengonversi objek R ke dalam format biner yang dapat dikomunikasikan melalui koneksi arbitrary. Ini mungkin dikirim ke file, tetapi bisa dikirim melalui jaringan atau koneksi lain.
Ketika Anda memanggil serialize () pada objek R, output akan menjadi vektor mentah yang dikodekan dalam format heksadesimal.
Jika Anda ingin, ini dapat dikirim ke file, tetapi dalam hal ini Anda lebih baik menggunakan sesuatu seperti save ().
Manfaat dari fungsi serialize () adalah bahwa ini adalah satu-satunya cara untuk secara sempurna merepresentasikan objek R dalam format yang dapat diekspor, tanpa kehilangan presisi atau metadata apa pun. Jika itu yang Anda butuhkan, serialize () adalah fungsi untuk Anda.
Anda bisa mendowload full codenya di github saya
Anda bisa mendowload full codenya di github saya
Menggunakan Format Tekstual dan Biner untuk Menyimpan Data Pada R
Reviewed by Jimmy Pujoseno
on
July 05, 2018
Rating:
No comments: