Trong phần này ta điểm qua quá trình hình thành và phát triển của R. Tiếp đó tìm hiểu một số đặc điểm cơ bản của R. Sau đó xem xét đến các thế mạnh và những điểm hạn chế của R.
Vào thập niên 1950, khi máy tính bắt đầu phát triển, một số ngôn ngữ lập trình như Fortran, Cobol, Algol đã được xây dựng; chủ yếu dùng để tính toán, giải quyết các vấn đề chung trong khoa học, kỹ thuật hay kinh tế. Đến 1976 John Chambers, Rick Becker và một số cộng sự ở Bell Labs bắt đầu nghiên cứu và phát triển ngôn ngữ S dành riêng cho các tính toán thống kê (phiên bản 1).
Đến 1978, S bắt đầu được sử dụng trong nội bộ của Bell Labs và một số trường đại học (phiên bản 2) và đến 1981 thì bắt đầu được phổ biến rộng rãi. Năm 1983 phiên bản 3 ra đời với sự áp dụng kỹ thuật lập trình hướng đối tượng. Năm 1995 phiên bản 4 ra đời, mở rộng từ các tính toán thống kê thành kỹ thuật xử lý dữ liệu.
Năm 1993, Ross Ihaca và Robert Gentleman, hai giáo sư dạy Thống kê tại đại học Auckland hợp tác với nhau để xây dựng và phát triển một công cụ giúp cho sinh viên có thể học và thực hành các tính toán thống kê thuận tiện hơn bằng cách sử dụng lại các cơ sở của S và Scheme, và R ra đời (R là chữ cái đầu của tên hai người).
Sau khi công bố, công cụ này được sự quan tâm và hưởng ứng của đông đảo những người làm công tác thống kê. Nhờ sự trợ giúp và khuyến khích của một số người, R trở thành phần mềm miễn phí, mã nguồn mở vào năm 1995. Từ đó nhóm phát triển R lớn mạnh dần, thêm John Chambers (người sáng lập ra S), Martin Marchler ở ETH Zurich, Kurt Hornik ở TU Wien, ... Cộng đồng những người sử dụng R cũng ngày càng lớn mạnh, có những đóng góp tích cực để phát triển R.
Về cơ bản, R là một ngôn ngữ lập trình cấp cao, các câu lệnh tương đối gần gũi ngôn ngữ thông thường (tiếng Anh) chứ không thể hiện các hoạt động bên trong của máy tính như các ngôn ngữ lập trình cấp thấp. Điều này khiến việc viết lệnh cũng như đọc hiểu chương trình tương đối thuận tiện.
Mặt khác R, được xem như một ngôn ngữ lập trình thông dịch (interpreted language), điều này có nghĩa là chương trình sẽ được thực hiện từng dòng lệnh một, hết dòng này đến dòng khác. Vì vậy người sử dụng có thể cho thực hiện từng dòng lệnh một, sau khi có kết quả của một dòng lệnh thì viết tiếp một dòng lệnh khác rồi cho thực hiện dòng mới viết.
Điều này khiến người sử dụng có thể theo dõi sát sao hơn tiến trình thực hiện của chương trình, vì thế việc sửa chữa, điều chỉnh chương trình được dễ dàng hơn. Sau khi đã quen với cách thực hiện này, có thể nâng cấp lên để thực hiện một đoạn lệnh gồm một số dòng lệnh, từ đó tiến dần đến việc viết một chương trình hoàn chỉnh. Đây cũng chính là ý định của những người sáng lập ra S.
Tuy nhiên do tính chất "thông dịch" này mà việc thực hiện chương trình sẽ chậm hơn so với các ngôn ngữ lập trình biên dịch (compiled language) như C. Mặc dầu vậy. với sự phát triển của kỹ thuật phần cứng với các bộ vi xử lý có tốc độ cao, khuyết điểm này cũng không gây ảnh hưởng trầm trọng lắm cho các ứng dụng thông thường.
R có những thế mạnh sau :
Do các ưu thế này mà người sử dụng R ngày càng nhiều, đặc biệt là trong lĩnh vực học thuật. Ta có thể thấy xu thế trên qua Hình 1.
Hình 1 Thị phần của các phần mềm thống kê qua các năm
Nguồn : Statistical Software Popularity on Google Scholar
R có một số mặt hạn chế sau :
Trang web này được cập nhật lần cuối ngày 22/11/2018
R
Các chuyên đề
Xử lý dữ liệu
Ma trận
R