Saya mencoba memuat ruang kerja R saya dan menerima kesalahan ini:
Error: bad restore file magic number (file may be corrupted) -- no data loaded
In addition: Warning message:
file ‘WORKSPACE_Wedding_Weekend_September’ has magic number '#gets'
Use of save versions prior to 2 is deprecated
Saya tidak terlalu tertarik dengan detail teknisnya, tetapi kebanyakan tentang bagaimana saya menyebabkannya dan bagaimana saya dapat mencegahnya di masa mendatang. Berikut beberapa catatan tentang situasinya:
- Saya menjalankan R 2.15.1 di MacBook Pro yang menjalankan Windows XP di partisi bootcamp.
- Jelas ada yang salah dengan file ruang kerja ini, karena beratnya hanya ~ 80kb sementara yang lainnya biasanya> 10.000
- Selama akhir pekan saya menjalankan program pemodelan eksternal di R dan menyimpan hasilnya ke objek yang berbeda. Saya menjalankan beberapa iterasi model selama beberapa hari, misalnya output_Saturday <- call_model ()
- Tidak ada yang istimewa untuk keluaran model, ini hanya daftar dengan slot untuk beta, matriks VC, spesifikasi model, dll.
r
workspace
magic-numbers
N Brouwer
sumber
sumber
source(filename)
alih - alihload(filename)
.load
ed sesuatu yang saya telahwrite.table
ed daripadasave
ed dan mendapat kesalahan ini. Ups.load
, di manaloadDb
harus digunakan.Jawaban:
Saya mendapat kesalahan itu ketika saya tidak sengaja menggunakan
load()
alih-alihsource()
ataureadRDS()
.sumber
load()
bukanread.csv()
. : pload()
sebagai penggantireadRDS()
(ya, 9 bulan kemudian, aku kembali ke sini untuk cukup banyak kesalahan yang sama).Juga perlu diperhatikan hal berikut dari dokumen oleh R Core Team yang merangkum perubahan dalam versi R setelah v3.5.0 (di sini ):
R memiliki format serialisasi baru (versi 3) yang mendukung serialisasi kustom objek kerangka kerja ALTREP ... Data berseri dalam format 3 tidak dapat dibaca oleh versi R sebelum versi 3.5.0.
Saya mengalami masalah ini ketika saya menyimpan ruang kerja di v3.6.0, dan kemudian berbagi file dengan rekan kerja yang menggunakan v3.4.2. Saya dapat mengatasi masalah ini dengan menambahkan "versi = 2" ke fungsi penyimpanan saya.
sumber
Dengan asumsi file Anda bernama "myfile.ext"
Jika file yang Anda coba muat bukanlah R-script, yang akan Anda gunakan
source("myfile.ext")
Anda dapat mencoba
readRDS
fungsi dan menetapkannya ke nama-variabel:my.data <- readRDS("myfile.ext")
sumber
Angka ajaib berasal dari sistem tipe UNIX di mana beberapa byte pertama dari file memegang penanda yang menunjukkan tipe file.
Kesalahan ini menunjukkan Anda mencoba memuat jenis file yang tidak valid ke R. Untuk beberapa alasan, R tidak lagi mengenali file ini sebagai file ruang kerja R.
sumber
Instal
readr
paketnya, lalu gunakanlibrary(readr)
.sumber
readr::
mudah untuk memindai melalui fungsi.readr::read_rds
itulah yang berhasil bagi saya pada akhirnya.Ini juga terjadi saat Anda mencoba
load()
objek rds daripada menggunakanobject <- readRDS("object.rds")
sumber
Saya mendapat kesalahan saat membangun paket R (menggunakan roxygen2)
Penyebab dalam kasus saya adalah bahwa saya telah menabung
data/mydata.RData
dengansaveRDS()
daripadasave()
. Misalnyasave(iris, file="data/iris.RData")
Ini memperbaiki masalah saya. Saya menemukan info ini di sini
Juga perhatikan bahwa dengan
save()
/load()
objek dimuat dengan nama yang sama dengan yang awalnya disimpan (yaitu Anda tidak dapat mengganti namanya sampai itu sudah dimuat ke dalam lingkungan R dengan nama yang dimilikinya saat Anda pertama kali menyimpannya).sumber
Saya mengalami masalah ini ketika saya menyimpan file Rdata di versi R yang lebih lama dan kemudian saya mencoba membuka yang baru. Saya menyelesaikannya dengan memperbarui versi R saya ke yang terbaru.
sumber
Jika Anda bekerja dengan
devtools
mencoba menyimpan file dengan:devtools::use_data(x, internal = TRUE)
Kemudian, hapus semua file yang disimpan sebelumnya.
Dari dokumen:
sumber