Я працюю в офісі, де SQL Server є основою всього, що ми робимо, від обробки даних до очищення до розміщення. Мій колега спеціалізується на написанні складних функцій і збережених процедур, щоб методично обробляти вхідні дані, щоб вони могли бути стандартизовані та працювати в проектах звітів, візуалізації та аналітики. Перш ніж почати тут, у мене було дуже мало досвіду роботи з SQL, окрім написання самих основних запитів. Переважна більшість моїх підготовчих робіт з аналізу була виконана в Р. Мій начальник наполягає на тому, що я вдосконалюю свої навички SQL, хоча, здається, є дуже мало завдань, які неможливо виконати ефективніше та із значно меншим рядком коду за допомогою R такі пакети, як dplyr, data.table та tidyr (щоб назвати декілька). Моє запитання - чи це має сенс?
Пару тижнів тому я опинився перед завданням отримати список назв стовпців для кожного рядка в таблиці, який відповідав би певним критеріям, і об'єднав їх у вектор рядків. Був жорсткий термін, і в той час я відчував деяку блокаду і не міг обернути голову навколо проблеми. Я попросив свого начальника, який у свою чергу попросив мого колегу написати сценарій TSQL для вирішення проблеми. Поки він працював над ним, я з'ясував спосіб зробити це в R, написавши досить просту функцію та застосувавши її до фрейму даних. Мій колега повернувся зі своїм сценарієм приблизно через дві години. Це було щонайменше 75 ліній, що складаються з двох вкладених для циклів. Я попросив його сказати сповістити, коли воно закінчиться, і він сказав, що це займе кілька годин. Тим часом мій R-сценарій зміг пройти ~ 45 000 записів приблизно за 30 секунд.
Чи правильно я вважаю, що R - це набагато кращий вибір для очищення та розміщення даних? Можливо, розробник SQL в моєму кабінеті просто невмілий? Мені цікаво, якщо хтось, хто працював як з R, так і з SQL (або Python і SQL з цього питання), має якісь думки з цього приводу.