خواندن فایل باینری در R

اگر فایل باینری داشته باشیم و بخوایم اون رو توی R بخونیم و استفاده کنیم، چطور باید عمل کنیم؟ در قدم اول باید بدونیم که ساختار فایل باینری به چه شکل است.
در مورد فایل خودم، این فایل با کد C++ ایجاد شده و حاوی ساختاری خاص برای ذخیره سازی مدل ایجاد شده از یک Matrix Factorization است.
به این صورت که چهاربایت اول فایل یک Integer چهار بایت دوم و سوم و … هفتم float و …

خواندن فایل باینری در R کار راحتی است، کافی است یک فایل جدید برای خواندن باز کرده

1
to.read = file('path/to/file', 'rb')

پس از آن با تابع readBin می‌توانیم بایت‌های فایل را خوانده و آن را به نوع داده مورد نظر خود تبدیل کنیم. برای خواند چهار بایت و تبدیل آن به Integer

1
an_int = readBin(to.read, integer(), size = 4)

size = 4 مشخص کننده این است که چهار بایت از فایل خوانده شود.
برای خواندن float میتوان بصورت زیر عمل کرد

1
an_float = readBin(to.read, double())

همچنین میتوانید چند رکورد را همزمان بخوانیم، مثلا پنچ integer را همزمان از فایل بخوانیم.

1
five_int = readBin(to.read, integer(), n = 5)

.