วิธีเรียนรู้ R เป็นภาษาโปรแกรม [ปิด]


105

ฉันต้องการทราบวิธีการเรียนรู้ภาษา R เป็นภาษา 'การเขียนโปรแกรม' ซึ่งต่างจากการเรียนรู้เป็นระบบสถิติ คำถามของฉันได้รับแจ้งจากการขาดความเข้าใจเกี่ยวกับฟังก์ชันต่างๆเช่นการแยกวิเคราะห์การประเมิน ฯลฯ ซึ่งอาจไม่พบการใช้งานบ่อยครั้งโดยผู้ใช้ R ด้วยการโน้มน้าว 'สถิติ'

แก้ไข: ฉันได้สำรวจเครื่องมือดังกล่าวเช่น Rpy RSPerl rJava และต้องการ (อย่างน้อยที่สุด) สามารถเข้าใจแนวคิดที่อำนวยความสะดวกในการสื่อสารของ R กับภาษาโปรแกรมอื่น ๆ

ความพร้อมใช้งานของเว็บแอปพลิเคชันสำหรับ R (R-PHP, RApache และอื่น ๆ ) เป็นอีกหนึ่งปัจจัยกระตุ้นให้ฉันได้รับความเข้าใจที่ลึกซึ้งและมีโครงสร้างมากขึ้นเกี่ยวกับ R

สุดท้าย แต่ไม่ท้ายสุดฉันต้องการที่จะสามารถเขียนแพ็คเกจ R ซึ่งความเข้าใจดังกล่าวจะเป็นประโยชน์หากไม่จำเป็น


1
คุณจะได้รับคำตอบที่ดีขึ้นหากคุณสามารถบอกได้ว่าเหตุใดคุณจึงพิจารณาใช้ R เป็นภาษาโปรแกรมแทนที่จะเป็นระบบสถิติ คุณติดซอฟต์แวร์อื่น ๆ ที่พัฒนาแล้วใน R หรือไม่? คุณมีโปรแกรมเมอร์คนอื่นที่ไม่รู้อะไรเลยนอกจาก R ดังนั้นคุณจึงถูกบังคับให้พัฒนาหรือไม่?
Chip Uni

7
จำเป็นต้องมีหนังสือที่มีชื่อเรื่องเช่น "วิศวกรรมซอฟต์แวร์เชิงสถิติกับ R" ซึ่งจะอธิบาย R จากมุมมองของภาษาโปรแกรมพูดคุยเกี่ยวกับหลักการเขียนโปรแกรมเชิงฟังก์ชันและการเขียนโปรแกรมเชิงวัตถุใน R และมุ่งเน้นไปที่แนวทางปฏิบัติที่ดีที่สุด สำหรับการพัฒนาระบบที่ค่อนข้างใหญ่
Harlan

ฉันคิดว่านี่เป็นวิธีที่สนุกที่สุดในการเรียนภาษานี้: tryr.codeschool.com/levels/1/challenges/16
Umit Kaya

การโหวตของฉันในการเปิดอีกครั้งขึ้นอยู่กับข้อเท็จจริงที่ว่านี่เป็นคำถามที่ได้รับการโหวตสูงและเป็นหนึ่งใน Hit แรก ๆ บน Google เมื่อคุณค้นหา "stackoverflow r" มีอายุ 10 ปีและมีเพียงคำแนะนำบางส่วนเท่านั้นที่ยังใช้ได้ นอกจากนี้การขาดโอกาสในการนำเสนอวัสดุที่ทันสมัยกว่านี้ได้ถูกปิดลง
IRTFM

@ 42- คุณจะไม่คิดว่าเป็นคำถาม "กำลังมองหาการสอน" ใช่หรือไม่?
camille

คำตอบ:


87

สำหรับ starters, คุณอาจต้องการที่จะดูที่บทความนี้โดยจอห์นคุก ยังให้แน่ใจว่าคุณอ่าน"การ R นรก"

มีแหล่งข้อมูลที่ดีมาก ๆ เป็นหน้าแรกของการ Rแต่โดยเฉพาะอย่างยิ่งการอ่าน"รู้เบื้องต้นเกี่ยวกับอาร์"และ"ความหมายภาษา R"

คำถาม stackoverflow ที่เกี่ยวข้องอย่างใกล้ชิด:

หนังสือเล่มโปรดของฉันในเรื่อง: "ซอฟต์แวร์สำหรับการวิเคราะห์ข้อมูล: การเขียนโปรแกรมด้วย R" โดย John Chambersผู้สร้างภาษา S


ฉันจะตอบด้วยลิงค์เดียวกัน @harshsinghal สมมติว่าคุณไม่ใช่ผู้เริ่มต้นเขียนโปรแกรมโดยสมบูรณ์ลิงค์นั้นมีประโยชน์มาก
Secko

ฉันจะรับรอง R inferno ด้วย มีหลายสิ่งที่ฉันได้รับจากหนังสือ Chambers โดยไม่ต้องใช้คำฟุ่มเฟือยและความเชื่อมั่นทางศาสนา
eytan

เอกสาร R inferno นั้นยอดเยี่ยม
Federico Giorgi

23

เป็นหนังสือที่ดีสำหรับการเรียนรู้ R-as-a-การเขียนโปรแกรมภาษา (เมื่อเทียบกับ R สำหรับสถิติ) เป็นศิลปะของการเขียนโปรแกรม Rโดยนอร์มันแมตลอ ฟฟ์

ป้อนคำอธิบายภาพที่นี่

อ่านง่ายมากไม่ได้คิดว่าคุณเป็นนักวิทยาศาสตร์คอมพิวเตอร์และมีราคาไม่แพงมากเมื่อหนังสือ R ไป


18

ฉันอยากจะแนะนำการเริ่มต้นที่ดีและครอบคลุมเช่นThe R Bookโดย Michael Crawley เป็นหนังสือที่อ่านง่ายและสมบูรณ์เกี่ยวกับฟังก์ชันหลักของ R พร้อมเคล็ดลับทางสถิติและแบบฝึกหัดเล็กน้อย โดยเน้นที่จุดแข็งของ R (เช่นแบบจำลองเชิงเส้น) และยังให้เทคนิคการเข้ารหัสที่เป็นประโยชน์อีกด้วย มันช่วยฉันได้มากในขณะที่ฉันกำลังดิ้นรนกับหลักสูตรออนไลน์ที่เป็นความลับ

ข้อความแสดงแทน


2
ฉันเห็นด้วย - นี่เป็นหนังสือแนะนำตัวที่ยอดเยี่ยม ครอว์ลีย์เขียนได้ชัดเจนมาก
Richie Cotton

มันละเอียดเกินไป บทความของ John Cook ข้างต้นมีความกระชับมากขึ้น ในฐานะโปรแกรมเมอร์คุณไม่จำเป็นต้องมี "The R book" มากนัก
สูงสุด

14

ฉันเป็นผู้เรียนรู้ด้วยตนเองดังนั้นคำแนะนำนี้อาจเฉพาะเจาะจงกับรูปแบบการเรียนรู้ของฉัน ฉันขอแนะนำว่าสถานที่ที่ดีที่สุดในการเริ่ม "เรียนรู้การเขียนโปรแกรม" ในภาษาใด ๆ เกี่ยวข้องกับการค้นหาปัญหาที่อยู่นอกเหนือจากประสบการณ์ปกติของคุณจากนั้นจึงพยายามแก้ไขปัญหาโดยใช้ภาษาโปรแกรม

โครงการที่สอนฉันมากที่สุดเกี่ยวกับวิธีการเขียนโปรแกรมRไม่มีส่วนเกี่ยวข้องกับสถิติเลย

การรู้ฟังก์ชั่นที่เหมือนparse()และeval()ไม่ได้เป็นตัวชี้วัดสำหรับการเป็น "โปรแกรมเมอร์ R ที่ดี" Rงานที่ต้องใช้งานหนักของฟังก์ชั่นเหล่านี้ไม่ได้ทำให้คนส่วนใหญ่ของพื้นที่ปัญหาในที่ที่คุณสามารถนำไปใช้ แต่ฉันคิดว่าคุณควรพยายามที่จะ "เป็นโปรแกรมเมอร์ที่ดี" Rใครจะไปรู้ สิ่งนี้เกี่ยวข้องกับการปรับแต่งแนวทางการแก้ปัญหาของคุณ

การเขียนโปรแกรมไม่ใช่กีฬาสำหรับผู้ชมหนังสือดีๆเป็นสิ่งที่ขาดไม่ได้ในการอ้างอิงถึงเครื่องมือที่มี แต่คุณต้องหาปัญหาบางอย่างเพื่อฝึกฝนทักษะของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.