Cách học R như một ngôn ngữ lập trình [đóng]


105

Tôi muốn biết cách học ngôn ngữ R như là ngôn ngữ 'lập trình' thay vì học nó như một hệ thống thống kê. Câu hỏi của tôi được đưa ra bởi sự thiếu hiểu biết về các chức năng như phân tích cú pháp, đánh giá, v.v. có thể không được người dùng R sử dụng thường xuyên với tính thuyết phục 'thống kê'.

Chỉnh sửa: Tôi đã khám phá các công cụ như Rpy RSPerl rJava và mong muốn (ít nhất) có thể hiểu các khái niệm hỗ trợ giao tiếp của R với các ngôn ngữ lập trình khác.

Sự sẵn có của các ứng dụng Web dành cho R (R-PHP, RApache, v.v.) là một yếu tố thúc đẩy khác để tôi hiểu sâu hơn, cấu trúc hơn về R.

Cuối cùng nhưng không kém phần quan trọng, tôi muốn có thể viết các gói R mà sự hiểu biết như vậy sẽ có lợi nếu không cần thiết.


1
Bạn sẽ nhận được câu trả lời tốt hơn nếu bạn có thể nói lý do tại sao bạn đang cân nhắc sử dụng R như một ngôn ngữ lập trình, thay vì một hệ thống thống kê. Bạn có đang kết hợp các phần mềm khác, đã được phát triển trong R? Bạn có những lập trình viên khác không biết gì ngoài R, vì vậy bạn buộc phải phát triển trong đó?
Chip Uni

7
Chắc chắn cần có một cuốn sách với tiêu đề như "Kỹ thuật phần mềm thống kê với R", sẽ giải thích R theo quan điểm của ngôn ngữ lập trình, thảo luận về các nguyên tắc của lập trình chức năng và lập trình hướng đối tượng trong R và thực sự tập trung vào các phương pháp hay nhất để phát triển các hệ thống tương đối lớn.
Harlan

Tôi nghĩ đây là một trong những cách thú vị nhất để học ngôn ngữ này: tryr.codeschool.com/levels/1/challenges/16
Umit Kaya

Phiếu bầu của tôi để mở lại dựa trên thực tế rằng đây là một câu hỏi được tán thành cao và là một trong những lần truy cập đầu tiên trên Google khi bạn tìm kiếm trên "stackoverflow r". Nó đã 10 năm tuổi và chỉ một số khuyến nghị vẫn còn hiệu lực. Hơn nữa, thiếu cơ hội cung cấp vật liệu hiện đại hơn đã bị đóng cửa.
IRTFM

@ 42- bạn sẽ không coi đó là một câu hỏi "đang tìm kiếm một hướng dẫn"?
camille

Câu trả lời:


87

Để bắt đầu, bạn có thể muốn xem bài viết này của John Cook . Ngoài ra, hãy chắc chắn rằng bạn đã đọc "The R Inferno" .

Có rất nhiều tài nguyên tốt trên trang chủ của R , nhưng đặc biệt, hãy đọc "Giới thiệu về R""Định nghĩa ngôn ngữ R" .

Một số câu hỏi liên quan chặt chẽ đến stackoverflow:

Cuốn sách yêu thích của tôi về chủ đề: "Phần mềm Phân tích Dữ liệu: Lập trình với R", của John Chambers , người sáng tạo ra ngôn ngữ S.


Tôi sẽ trả lời với cùng một liên kết. @harshsinghal Giả sử bạn không phải là người mới bắt đầu lập trình, liên kết đó rất hữu ích.
Secko

Tôi cũng sẽ xác nhận cho địa ngục R. Nó chứa đựng rất nhiều điều mà tôi lấy ra từ cuốn sách Chambers mà không có sự chi tiết và xác tín tôn giáo.
eytan

Các tài liệu nghiên cứu địa ngục là rực rỡ
Federico Giorgi


18

Tôi thà đề xuất một khởi đầu tốt và toàn diện, như Cuốn sách R của Michael Crawley. Đây là một cuốn sách dễ đọc và đầy đủ về các hàm lõi R, với các mẹo thống kê và một số bài tập. Nó tập trung rất nhiều vào điểm mạnh của R (ví dụ: mô hình tuyến tính) và cũng đưa ra các thủ thuật mã hóa hữu ích. Nó đã giúp tôi rất nhiều trong khi tôi đang vật lộn với các khóa học trực tuyến khó hiểu.

văn bản thay thế


2
Tôi đồng ý - đây là một cuốn sách giới thiệu xuất sắc; Crawley viết rất rõ ràng.
Richie Cotton

Nó quá chi tiết. Bài viết của John Cook ở trên là cách ngắn gọn hơn. Là một lập trình viên, bạn không cần một phần lớn của "Cuốn sách R".
Tối đa

14

Tôi là một người học rất thực hành, vì vậy lời khuyên này có thể dành riêng cho cách học của tôi. Tôi gợi ý rằng nơi tốt nhất để bắt đầu "học lập trình" bằng bất kỳ ngôn ngữ nào là việc tìm ra các vấn đề nằm ngoài phạm vi kinh nghiệm thông thường của bạn và sau đó cố gắng giải quyết chúng bằng ngôn ngữ lập trình.

Các dự án dạy tôi nhiều nhất về cách lập trình Rkhông liên quan gì đến số liệu thống kê.

Biết các chức năng như thế nào parse()và hoàn toàn eval()không phải là thước đo để trở thành "một lập trình viên R giỏi". Các ứng dụng yêu cầu sử dụng nhiều các chức năng này không chiếm phần lớn không gian vấn đề mà bạn có thể áp dụng R. Thay vào đó, tôi nghĩ bạn nên cố gắng trở thành "một lập trình viên giỏi", người hiểu biết R. Điều này liên quan đến việc tinh chỉnh các phương pháp giải quyết vấn đề của bạn.

Lập trình không phải là một môn thể thao dành cho khán giả - một cuốn sách hay không thể thiếu như một tài liệu tham khảo về các công cụ có sẵn, nhưng bạn cần tìm ra một số vấn đề để trau dồi kỹ năng của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.