Saya telah menggunakan file teks untuk menyimpan data saya untuk R tanpa masalah selama beberapa waktu sekarang. Tetapi untuk proyek baru-baru ini ukuran file menjadi terlalu besar untuk ditangani oleh file teks mentah. Apa alternatif sederhana terbaik?
12
R
). Perhatian mendasar adalah dengan integritas data daripada ukuran file: mengusulkan beberapa bentuk kompresi hanya mengaburkan ini daripada menyelesaikannya.read.table
atauread.csv
gagal diam-diam? Apakah Anda benar-benar yakin tidak memiliki beberapa file di sekitar dan beberapa kesalahan pengkodean (jalur salah, nama file salah, dll.)? Hanya untuk memperbaiki ide, Anda mungkin juga ingin memberi kami ide tentang berapa banyak variabel dan berapa banyak catatan yang Anda hadapi.Jawaban:
Pendekatan R standar adalah menggunakan
save
danload
. Jika Anda menjalankansave
frame data setelah mengimpor dan membuat anotasi, Anda dapat menentukancompress=TRUE
dan Anda akan kagum dengan kompresi danload
waktu yang cepat . Ini bekerja sangat baik jika ukuran objek kurang dari sekitar 400MB. Jika tidak, periksa beberapa saran di atas, atauff
paket kuat di R.The
Hmisc
paket memiliki pembungkus kecilSave
danLoad
untuk membuat atas bahkan lebih menyakitkan:sumber
Lihatlah database SQLite3. Setiap basis data adalah file, jadi tidak perlu menyiapkan server basis data.
Untuk membuat database:
Untuk digunakan dengan R, https://gist.github.com/lynaghk/1062939
sumber
Ada sejumlah opsi umum.
Kompresi hebat tergantung data.
Tebakan saya (dan Anda tidak menentukannya, jadi saya harus tebak) adalah Anda ingin menyimpan data seperti spreadsheet dalam sesuatu selain csv (dibatasi koma).
Salah satu format favorit saya (saya suka MatLab) adalah hdf.
Berikut adalah informasi terkait-R tentang HDF:
Ini adalah format penyimpanan data supercomputing kepadatan tinggi. Ini bisa sangat cepat dan efisien. Ini juga (tidak mengejutkan) lebih padat daripada teks zip.
sumber
Fungsi membaca file standar di R sekarang akan secara otomatis membaca file yang di-gzip. Jadi, jalankan saja kompresi gzip sederhana pada data Anda dan baca seperti biasa, seolah itu teks biasa.
sumber