Tôi làm việc trong một văn phòng nơi SQL Server là xương sống của tất cả mọi thứ chúng tôi làm, từ xử lý dữ liệu đến dọn dẹp cho đến munging. Đồng nghiệp của tôi chuyên viết các hàm phức tạp và các thủ tục được lưu trữ để xử lý một cách có phương pháp dữ liệu đến để nó có thể được chuẩn hóa và đưa vào làm việc trong các báo cáo, trực quan hóa và các dự án phân tích. Trước khi bắt đầu ở đây, tôi có rất ít kinh nghiệm với SQL, ngoài việc viết các truy vấn cơ bản nhất. Phần lớn công việc chuẩn bị phân tích của tôi đều được thực hiện trong R. Ông chủ của tôi khẳng định rằng tôi cải thiện các kỹ năng SQL của mình, mặc dù dường như có rất ít bài tập không thể được thực hiện hiệu quả hơn và với ít dòng mã hơn sử dụng R các gói như dplyr, data.table và tidyr (để đặt tên cho một số ít). Câu hỏi của tôi là - điều này có ý nghĩa?
Một vài tuần trước, tôi thấy mình phải đối mặt với nhiệm vụ lấy danh sách các tên cột cho mỗi hàng trong một bảng đáp ứng các tiêu chí nhất định và ghép chúng thành một chuỗi các chuỗi. Có một thời hạn chặt chẽ và vào thời điểm đó, tôi đã gặp phải một số tắc nghẽn và không thể hoàn toàn xoay quanh vấn đề này. Tôi đã hỏi sếp của mình, người đã lần lượt yêu cầu đồng nghiệp của tôi viết kịch bản TSQL để giải quyết vấn đề. Trong khi anh ta đang làm việc với nó, tôi đã tìm ra một cách để làm điều đó trong R bằng cách viết một hàm khá đơn giản và áp dụng nó trên khung dữ liệu. Đồng nghiệp của tôi đã trở lại với kịch bản của anh ấy khoảng hai giờ sau đó. Đó là ít nhất 75 dòng bao gồm hai dòng lồng nhau. Tôi yêu cầu anh ta thông báo khi nó chạy xong và anh ta nói sẽ mất vài giờ. Trong khi đó, tập lệnh R của tôi có thể lặp lại hơn ~ 45.000 bản ghi trong khoảng 30 giây.
Tôi có đúng không khi cho rằng R là lựa chọn tốt hơn nhiều để làm sạch và trộn dữ liệu? Có lẽ nhà phát triển SQL trong văn phòng của tôi chỉ mới sử dụng? Tôi tò mò liệu bất kỳ ai đã làm việc với cả R và SQL (hoặc Python và SQL cho vấn đề đó) có bất kỳ suy nghĩ nào về vấn đề này.