R: R faylida (masalan, sqldf orqali) yoki boshqa ma'lumotlarga asoslangan fan dasturlash tilini o'qishning mexanizmini tushunish kerak

R (yoki Python) ga faylning yozuvlarini faqatgina bitta to'plamini o'qib, ishlashni juda tezlashtirishi mumkin. Ushbu turdagi fayllarni kiritish mexanizmi haqida qiziqaman. Faylning faqat kichik qismini o'qish uchun menimcha, bu faylga biron-bir tarzda kirishga, xotiraga yuklashga va qiziqqan kichik qismni filtrlashga to'g'ri keladi. (Aks holda, qanday qilib men ushbu faylning kichik qismini so'rashi mumkin? Men xohlagan yozuvlarni?). Boshqacha qilib aytadigan bo'lsak, men butun faylni xotiraga aylantirgandim. Shunday qilib, agar u 20 gigabaytli fayl bo'lsa, men kerakli bo'lgan 1 Gbni filtrlash uchun 20GB hajmda o'qishim kerak edi. Ishlashning foydalari qaerdan keladi?

0

2 javoblar

Faylning bir qismini o'qish haqida ishlashning ko'p jihatlari bor. Men R-bazasida mavjud bo'lgan funktsiyalar asosida ikkita eng keng tarqalgan usulni muhokama qilmoqchiman.

What is R doing at the time of reading?

  1. Fayl bilan aloqa o'rnatish.
  2. Faylni oching
  3. Ma'lumotlarni ketma-ket o'qish
  4. Ma'lumotlarni xotiraga joylashtiring
  5. Ulanishni o'chirib qo'ying
  6. ob'ektni tayinlangan taqdirda o'zgartiradigan narsaga tashlang, boshqacha qilib aytadigan bo'lsak, ba'zi gui-da chiqadi.

Bu barcha qadamlarni bajarayotgan bo'lsa-da, u quyidagilarni qilishga harakat qiladi:

  1. Ma`lumotlar qanchalik katta ekanligini anglab yetgach, u xotirani tegishli xotira bilan taqsimlashi mumkin
  2. Ma'lumotlarni xotirasi yoki sinflar nima uchun tegishli xotira ajratishi mumkin?

R barcha ma'lumotlar to'plamini o'qiguncha, ma'lumotlar turini aniqlab bo'lmaguncha, pastki bullet 2 bu erda muhim. O'qish vaqtida ushbu ma'lumotni yakka holda ta'minlash juda tez ishlov beradi.

Ma'lumotlarning bir to'plamini o'qib R, ma'lumotlar turini sharhlashni osonlashtiradi va keyinchalik haqiqiy ma'lumotlar turi haqida xavotirlanmasdan keyingi to'plamlarga tayinlaydi.

Does R really loads all the data every time?

O'qish paytida filtrga ruxsat beruvchi vazifalar, albatta, ma'lumotni ketma-ket o'qishning uchinchi bosqichini aniqlaydi.

Har bir satr filtr belgilariga solishtiriladi va natija ikkilik mantiqiy indeks sifatida saqlanadi. Keyinchalik, ushbu indeks aloqa yopilganda nima bo'lishini aniqlash uchun ishlatiladi. Hujjatlarda zudlik bilan amalga oshirilsa yoki o'qishni oxiriga etkazadigan bo'lsa, hujjatning o'ziga xos ma'lumotini topa olmadim, lekin R filtri mezonlari bilan o'qiganidek, axlatni avtomatik ravishda yig'adi va xotirani keyingi ma'lumotlar liniyasi.

Ehtimol, bu erda haqiqiy ichki ishlarga qo'shimcha yorug'lik keltira oladigan va taxminlarimni tasdiqlash yoki tuzatishga qodir bo'lgan boshqa mutaxassislar bo'lishi mumkin, ammo mening kontekstim yordam berishiga umid qilaman.

1
qo'shib qo'ydi

"R fayliga yozuvlaringizning faqat bir to'plamini o'qish" deganingiz qachon aniq emas edi. Agar bosh (ma'lumotlar to'plami, 100) siz istagan kichik guruh bo'lsa, butun fayl xotiraga o'qilmaydi. Faqat 100 ta qatorni xotiraga o'qiydi.

0
qo'shib qo'ydi
Python
Python
372 ishtirokchilar

Bu guruh python dasturlash tilini muhokama qilish uchun. Iltimos, o'zingizni hurmat qiling va faqat dasturlash bo'yicha yozing. Botlar mavzusini @botlarhaqida guruhida muhokama qling! FAQ: @PyFAQ Offtopic: @python_uz_offtopic

Python offtopic group !
Python offtopic group !
150 ishtirokchilar

@python_uz gruppasining offtop gruppasi. offtop bo'lsa ham reklama mumkin emas ) Boshqa dasturlash tiliga oid gruppalar @languages_programming