R (ภาษาโปรแกรม)

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

R
R logo.svg
R terminal.jpg
ขั้ว R
กระบวนทัศน์หลายกระบวนทัศน์ : ขั้นตอน , เชิงวัตถุ , ทำงาน , สะท้อน , จำเป็น , อาร์เรย์[1]
ออกแบบโดยRoss IhakaและRobert Gentleman
นักพัฒนาอาร์ คอร์ ทีม
ปรากฏตัวครั้งแรกสิงหาคม 2536 ; 28 ปีที่แล้ว ( 1993-08 )
ปล่อยที่มั่นคง
4.1.3 [2] / 10 มีนาคม 2565 ; 32 วันที่ผ่านมา ( 10 มีนาคม 2565 )
วินัยการพิมพ์พลวัต
ใบอนุญาตGNU GPL v2
นามสกุลไฟล์
เว็บไซต์www .r-project .org แก้ไขที่ Wikidata
ได้รับอิทธิพลจาก
ได้รับอิทธิพล
จูเลีย[5]

Rเป็นภาษาโปรแกรมสำหรับการคำนวณทางสถิติและกราฟิกที่สนับสนุนโดย R Core Team และ R Foundation for Statistical Computing สร้างขึ้นโดยนักสถิติRoss IhakaและRobert Gentleman R ถูกใช้ในหมู่นักขุดข้อมูลและนักสถิติสำหรับการวิเคราะห์ข้อมูลและการพัฒนา ซอฟต์แวร์ ทางสถิติ ผู้ใช้ได้สร้างแพ็คเกจเพื่อเพิ่มฟังก์ชันของภาษา R

จากการสำรวจผู้ใช้และการศึกษาฐานข้อมูลวรรณกรรมทางวิชาการ R เป็นหนึ่งในภาษาโปรแกรมที่ใช้บ่อยที่สุดที่ใช้ในการทำเหมืองข้อมูล [6]ณ เดือนมีนาคม พ.ศ. 2565 R อยู่ในอันดับที่ 11 ในดัชนี TIOBEซึ่งเป็นหน่วยวัดความนิยมภาษาโปรแกรม [7]

สภาพแวดล้อมซอฟต์แวร์ R อย่างเป็นทางการคือสภาพแวดล้อมซอฟต์แวร์โอเพ่นซอร์สฟรีภายในแพ็คเกจ GNUซึ่งอยู่ภายใต้ สัญญาอนุญาตสาธารณะทั่วไป ของGNU มันถูกเขียนเป็นหลักในC , Fortranและ R เอง (บางส่วนself-hosting ) โปรแกรมปฏิบัติการ ที่คอมไพล์ล่วงหน้า มีไว้สำหรับระบบปฏิบัติการต่างๆ R มีอินเตอร์เฟสบรรทัดคำสั่ง [8] นอกจากนี้ยังมีส่วนต่อประสานกราฟิกกับ ผู้ใช้แบบกราฟิกของบริษัทอื่นเช่นRStudio สภาพแวดล้อมการพัฒนาแบบบูรณาการและJupyterอินเทอร์เฟซโน๊ตบุ๊ค

ประวัติ

R คือการนำโอเพ่นซอร์สของภาษาการเขียนโปรแกรม S ไปใช้ รวมกับ ความหมายการ กำหนดขอบเขตศัพท์จากSchemeซึ่งช่วยให้สามารถกำหนดอ็อบเจ็กต์ในบล็อกที่กำหนดไว้ล่วงหน้า แทนที่จะเป็นโค้ดทั้งหมด [1] S ถูกสร้างขึ้นโดย Rick Becker, John Chambers , Doug Dunn, Jean McRae และ Judy Schilling ที่Bell Labsประมาณปี 1976 ออกแบบมาเพื่อการวิเคราะห์ทางสถิติ ภาษานี้เป็นภาษาที่ตีความซึ่งสามารถรันโค้ดได้โดยตรงโดยไม่ต้องใช้คอมไพเลอร์ [9]หลายโปรแกรมที่เขียนขึ้นสำหรับ S ทำงานโดยไม่มีการเปลี่ยนแปลงใน R. [8]เป็นภาษาถิ่นของLispภาษา โครงการถูกสร้างขึ้นโดยGerald J. SussmanและGuy L. Steele Jr.ที่MITประมาณปี 1975 [10]

ในปี 1991 นักสถิติ Ross Ihaka และ Robert Gentleman จากมหาวิทยาลัยโอ๊คแลนด์ประเทศนิวซีแลนด์ ได้เริ่มดำเนินการตามแนวทาง S [11]ได้รับการตั้งชื่อส่วนหนึ่งตามชื่อแรกของผู้เขียน R สองคนแรกและส่วนหนึ่งเป็นบทละครในชื่อ S. [8]พวกเขาเริ่มเผยแพร่ในคลังข้อมูล StatLib และรายชื่อผู้รับจดหมายข่าว ในเดือนสิงหาคม พ.ศ. 2536 [ 12]ในปี 1995 นักสถิติ Martin Mächler เกลี้ยกล่อม Ihaka และ Gentleman ให้สร้าง R เป็นซอฟต์แวร์โอเพ่นซอร์สฟรีภายใต้ สัญญาอนุญาตสาธารณะทั่วไป ของGNU [12] [13] [14]เปิดตัวอย่างเป็นทางการครั้งแรกในเดือนมิถุนายน 1995 [12]เจ้าหน้าที่คนแรกเวอร์ชัน "เสถียรเบต้า" (v1.0) เผยแพร่เมื่อวันที่ 29 กุมภาพันธ์ พ.ศ. 2543 [15] [16]

Comprehensive R Archive Network (CRAN) ได้รับ การประกาศอย่างเป็นทางการเมื่อวันที่ 23 เมษายน พ.ศ. 2540 CRAN เก็บไฟล์ปฏิบัติการ ซอร์สโค้ด เอกสารประกอบของ R ไว้ รวมทั้งแพ็คเกจต่างๆ ที่ผู้ใช้ให้การสนับสนุน CRAN เดิมมี 3 มิเรอร์และ 12 แพ็คเกจที่สนับสนุน [17]ณ เดือนมกราคม พ.ศ. 2565 มี 101 มิเรอร์ [18]และ 18,728 แพ็คเกจที่บริจาค (19)

ทีมงาน R Core ก่อตั้งขึ้นในปี 1997 เพื่อพัฒนาภาษาต่อไป [8]ณ มกราคม 2022 ประกอบด้วย Chambers, Gentleman, Ihaka และ Mächler รวมทั้งนักสถิติ Douglas Bates, Peter Dalgaard , Kurt Hornik , Michael Lawrence, Friedrich Leisch, Uwe Ligges, Thomas Lumley , Sebastian Meyer, Paul Murrell, Martyn Plummer, Brian Ripley , Deepayan Sarkar, Duncan Temple Lang, Luke Tierneyและ Simon Urbanek รวมถึงนักวิทยาศาสตร์คอมพิวเตอร์ Tomas Kalibera Stefano Iacus, Guido Masarotto, Heiner Schwarte, Seth Falcon, Martin Morgan และ Duncan Murdoch เป็นสมาชิก [20]ในเดือนเมษายน พ.ศ. 2546 [21]มูลนิธิ R ก่อตั้งขึ้นในฐานะองค์กรไม่แสวงหาผลกำไรเพื่อสนับสนุนโครงการ R ต่อไป [8]

คุณสมบัติ

การประมวลผลข้อมูล

โครงสร้างข้อมูลของ R ประกอบด้วยvectors , arrays , รายการและ data frames [22]เวกเตอร์เป็นคอลเลกชันของค่าที่เรียงลำดับและสามารถจับคู่กับอาร์เรย์ของมิติข้อมูลอย่างน้อยหนึ่งรายการใน ลำดับหลัก ของคอลัมน์ กล่าวคือ เมื่อได้รับคอลเลกชันของมิติที่เรียงลำดับแล้ว ตัวหนึ่งจะเติมค่าตามมิติแรกก่อน จากนั้นจึงเติมอาร์เรย์หนึ่งมิติในมิติที่สอง และอื่นๆ [23] R รองรับอาร์เรย์เลขคณิตและในเรื่อง นี้ก็เหมือนภาษาเช่นAPLและMATLAB [22] [24]กรณีพิเศษของอาร์เรย์ที่มีสองมิติเรียกว่าเมทริกซ์. รายการทำหน้าที่เป็นคอลเล็กชันของออบเจ็กต์ที่ไม่จำเป็นต้องมีประเภทข้อมูล เหมือน กัน กรอบข้อมูลประกอบด้วยรายการเวกเตอร์ที่มีความยาวเท่ากัน รวมทั้งชุดชื่อแถวที่ไม่ซ้ำกัน [22] R ไม่มีประเภทข้อมูลสเกลาร์ [25]สเกลาร์ถูกแทนด้วยเวกเตอร์ความยาวหนึ่งแทน (26)

R และไลบรารีของบริษัทใช้เทคนิคทางสถิติต่างๆ รวมถึง การสร้างแบบจำลองเชิง เส้นและไม่เชิงเส้นการทดสอบทางสถิติแบบคลาสสิก การวิเคราะห์ เชิงพื้นที่และอนุกรมเวลา การจำแนก การจัดกลุ่มและอื่นๆ สำหรับงานที่ต้องใช้การคำนวณมากสามารถเชื่อมโยงและเรียกใช้ โค้ด C , C++และFortran ได้ในขณะใช้งาน จุดแข็งอีกประการของ R คือกราฟิกแบบ สแตติก มันสามารถผลิตกราฟคุณภาพสิ่งพิมพ์ที่มีสัญลักษณ์ทางคณิตศาสตร์ [27]

การเขียนโปรแกรม

R เป็นภาษาที่ตีความ ; ผู้ใช้สามารถเข้าถึงได้ผ่านล่ามบรรทัดคำสั่ง หากผู้ใช้พิมพ์2+2ที่พรอมต์คำสั่ง R แล้วกด Enter คอมพิวเตอร์จะตอบด้วย 4

R รองรับการเขียนโปรแกรมตามขั้นตอนพร้อมฟังก์ชันและสำหรับบางฟังก์ชันการเขียนโปรแกรมเชิงวัตถุพร้อมฟังก์ชันทั่วไป [28]เนื่องจากSมรดก R มี สิ่งอำนวยความสะดวก การเขียนโปรแกรมเชิงวัตถุที่ แข็งแกร่ง กว่าภาษาคอมพิวเตอร์เชิงสถิติส่วนใหญ่ [ อ้างอิงจำเป็น ]การขยายขอบเขตนั้นอำนวยความสะดวกโดย กฎการ กำหนดขอบเขตศัพท์ซึ่งได้มาจากโครงการ [29] R ใช้S-expressionsเพื่อแสดงทั้งข้อมูลและโค้ด [ ต้องการการอ้างอิง ]ระบบอ็อบเจ็กต์ที่ขยายได้ของ R รวมถึงอ็อบเจ็กต์สำหรับ (รวมถึงอื่นๆ): โมเดล การถดถอยอนุกรมเวลาและพิกัดเชิงพื้นที่ ผู้ใช้ขั้นสูงสามารถเขียนโค้ด C, C++, [30] Java , [31] .NET [32]หรือPythonเพื่อจัดการวัตถุ R ได้โดยตรง [33]

ฟังก์ชันเป็น ออบเจ็กต์ ระดับเฟิร์สคลาสและสามารถจัดการได้ในลักษณะเดียวกับออบเจ็กต์ข้อมูล ซึ่งอำนวยความสะดวกในการเขียนโปรแกรมเมตาที่ช่วยให้สามารถ สั่ง งานได้หลายครั้ง อาร์กิวเมนต์ของฟังก์ชันถูกส่งผ่านตามค่า และขี้เกียจกล่าวคือ อาร์กิวเมนต์เหล่านี้จะถูกประเมินเมื่อถูกใช้เท่านั้น ไม่ใช่เมื่อมีการเรียกใช้ฟังก์ชัน [34]ฟังก์ชันทั่วไปทำหน้าที่แตกต่างกันไปขึ้นอยู่กับคลาสของอาร์กิวเมนต์ที่ส่งผ่าน กล่าวอีกนัยหนึ่ง ฟังก์ชันทั่วไปส่งวิธีการใช้งานเฉพาะสำหรับคลาส ของอ็อบเจ็กต์ นั้น ตัวอย่างเช่น R มี ฟังก์ชัน ทั่วไป printที่สามารถพิมพ์ได้เกือบทุกคลาสของวัตถุใน R ด้วยprint(objectname). [35]ฟังก์ชันมาตรฐานของ R จำนวนมากเขียนด้วย R [ ต้องการอ้างอิง ]ซึ่งทำให้ผู้ใช้ปฏิบัติตามตัวเลือกอัลกอริธึมได้ง่าย R สามารถขยายได้อย่างมากผ่านการใช้แพ็คเกจสำหรับฟังก์ชันเฉพาะและแอปพลิเคชันเฉพาะ

แพ็คเกจ

ความสามารถของ R นั้นขยายออกไปผ่านแพ็คเกจ[36] ที่ผู้ใช้สร้างขึ้น ซึ่งมีเทคนิคทางสถิติ อุปกรณ์กราฟิก นำเข้า/ส่งออก การรายงาน ( RMarkdown , knitr , Sweave ) เป็นต้น แพ็คเกจของ R และความง่ายในการติดตั้งและใช้งานนั้นถูกอ้างถึง เป็นตัวขับเคลื่อนการใช้ภาษาอย่างแพร่หลายในด้านวิทยาศาสตร์ข้อมูล [37] [38] [39] [40] [41]นักวิจัยยังใช้ระบบบรรจุภัณฑ์เพื่อสร้างบทสรุปเพื่อจัดระเบียบข้อมูลการวิจัย รหัส และรายงานไฟล์อย่างเป็นระบบสำหรับการแบ่งปันและเก็บถาวร [42]

หลายแพ็คเกจรวมอยู่ในการติดตั้งพื้นฐาน มีแพ็คเกจเพิ่มเติมใน CRAN, [18] Bioconductor , Omegahat, [43] GitHubและที่เก็บอื่น ๆ [44] [45] [46]

"มุมมองงาน" บนเว็บไซต์ CRAN [47]แสดงรายการแพ็คเกจในด้านต่างๆ เช่น การเงิน พันธุศาสตร์ คอมพิวเตอร์ประสิทธิภาพสูง การเรียนรู้ของเครื่อง การถ่ายภาพทางการแพทย์ สังคมศาสตร์ และสถิติเชิงพื้นที่ R ได้รับการระบุโดยFDAว่าเหมาะสำหรับการตีความข้อมูลจากการวิจัยทางคลินิก [48] ​​Microsoft เก็บรักษาสแนปชอตประจำวันของ CRAN ซึ่งมีอายุย้อนไปถึง 17 กันยายน 2014 [49]

ทรัพยากรแพ็คเกจ R อื่นๆ ได้แก่ R-Forge [50]แพลตฟอร์มสำหรับการพัฒนาแพ็คเกจ R ร่วมกัน โครงการ Bioconductor มีแพ็คเกจสำหรับการวิเคราะห์ข้อมูลจีโนม รวมถึงการจัดการข้อมูลเชิงวัตถุและเครื่องมือวิเคราะห์สำหรับข้อมูลจากAffymetrix , cDNA microarray และ วิธีการจัดลำดับปริมาณงานสูงรุ่นต่อไป [51]

กลุ่มของแพ็คเกจที่เรียกว่าTidyverseซึ่งถือได้ว่าเป็น "ภาษาถิ่น" ของภาษา R กำลังเป็นที่นิยมมากขึ้นในหมู่นักพัฒนา [หมายเหตุ 1]มุ่งมั่นที่จะจัดให้มีการรวบรวมฟังก์ชันที่เหนียวแน่นเพื่อจัดการกับงานวิทยาศาสตร์ข้อมูลทั่วไป ซึ่งรวมถึงการนำเข้าข้อมูล การล้าง การแปลง และการแสดงภาพ (โดยเฉพาะอย่างยิ่งกับ แพ็คเกจ ggplot2 ) กราฟิกไดนามิกและอินเทอร์แอคทีฟมีให้ในแพ็คเกจเพิ่มเติม [52]

R เป็นหนึ่งใน 5 ภาษาที่มีApache Spark API พร้อมด้วยScala , Java , PythonและSQL [53] [54]

เหตุการณ์สำคัญ

รายการการเปลี่ยนแปลงในรุ่น R จะถูกเก็บไว้ในไฟล์ "ข่าว" ต่างๆ ที่ CRAN [55]ไฮไลท์บางส่วนอยู่ด้านล่างสำหรับการเผยแพร่หลักหลายรายการ

ปล่อย วันที่ คำอธิบาย
0.16 นี่เป็น เวอร์ชัน อัลฟ่า สุดท้าย ที่พัฒนาโดย Ihaka และ Gentleman เป็นหลัก มีการใช้งานฟังก์ชันพื้นฐานส่วนใหญ่จาก "สมุดปกขาว" (ดูประวัติ S ) เริ่มส่งรายชื่อเมื่อ 1 เมษายน 2540
0.49 1997-04-23 นี่เป็น แหล่งข้อมูลที่เก่าที่สุดซึ่งขณะนี้มีอยู่ใน CRAN [56] CRAN เริ่มต้นในวันที่นี้ โดยมีมิเรอร์ 3 ตัวที่โฮสต์ 12 แพ็คเกจในตอนแรก [57] R เวอร์ชันอัลฟ่าสำหรับMicrosoft WindowsและMac OS แบบคลาสสิกจะพร้อมใช้งานหลังจากเวอร์ชันนี้ไม่นาน [ ต้องการการอ้างอิง ]
0.60 1997-12-05 R กลายเป็นส่วนอย่างเป็นทางการของGNU Project รหัสถูกโฮสต์และดูแลบน CVS
0.65.1 1999-10-07 เวอร์ชันแรกของ update.packages และ install.packages ทำหน้าที่สำหรับการดาวน์โหลดและติดตั้งแพ็คเกจจาก CRAN [58]
1.0 2000-02-29 นักพัฒนาถือว่าเสถียรเพียงพอสำหรับใช้ในการผลิต [59]
1.4 2001-12-19 มีการแนะนำวิธีการ S4 และเวอร์ชันแรกสำหรับMac OS Xจะพร้อมใช้งานหลังจากนั้นไม่นาน
1.8 2546-10-08 แนะนำกลไกการจัดการเงื่อนไขที่ยืดหยุ่นสำหรับการส่งสัญญาณและการจัดการวัตถุเงื่อนไข
2.0 2004-10-04 แนะนำLazy Loadingซึ่งช่วยให้โหลดข้อมูลได้อย่างรวดเร็วโดยใช้หน่วยความจำระบบน้อยที่สุด
2.1 2005-04-18 รองรับการเข้ารหัส UTF-8และจุดเริ่มต้นของการทำให้เป็นสากลและการแปลเป็นภาษาท้องถิ่น
2.6.2 2008-02-08 เวอร์ชันล่าสุดที่รองรับ Windows 95, 98, Me และ NT 4.0 [60]
2.11 2010-04-22 รองรับระบบ Windows 64 บิต
2.12.2 2011-02-25 เวอร์ชันล่าสุดเพื่อรองรับ Windows 2000 [61]
2.13 2011-04-14 การเพิ่มฟังก์ชันคอมไพเลอร์ใหม่ที่ช่วยเพิ่มความเร็วของฟังก์ชันโดยแปลงเป็น bytecode
2.14 2011-10-31 เพิ่มเนมสเปซบังคับสำหรับแพ็คเกจ เพิ่มแพ็คเกจคู่ขนานใหม่
2.15 2012-03-30 ฟังก์ชันปรับสมดุลโหลดใหม่ ปรับปรุงความเร็วการทำให้เป็นอันดับสำหรับเวกเตอร์แบบยาว
3.0.0 2013-04-03 รองรับค่าดัชนีตัวเลข 2 31และใหญ่กว่าบนระบบ 64 บิต
3.3.3 2017-03-06 เวอร์ชันล่าสุดเพื่อรองรับ Microsoft Windows XP
3.4.0 2017-04-21 การรวบรวม Just-in-time (JIT) ของฟังก์ชันและลูปเป็นไบต์โค้ดที่เปิดใช้งานโดยค่าเริ่มต้น
3.5.0 2018-04-23 แพ็คเกจที่คอมไพล์แบบไบต์ในการติดตั้งโดยค่าเริ่มต้น การแสดงลำดับจำนวนเต็มภายในกระชับ เพิ่มรูปแบบการออกหมายเลขใหม่เพื่อรองรับการแสดงข้อมูลภายในแบบย่อ
3.6.0 2019-04-26 ปรับปรุงการสุ่มตัวอย่างจากการกระจายแบบสม่ำเสมอที่ไม่ต่อเนื่องอย่างเห็นได้ชัดในประชากรจำนวนมาก [62]รองรับรูปแบบการออกหมายเลขใหม่ตั้งแต่ 3.5.0 กลายเป็นค่าเริ่มต้น
4.0.0 2020-04-24 R ตอนนี้ใช้stringsAsFactors = FALSEค่าดีฟอลต์ ดังนั้นตามค่าเริ่มต้น จะไม่แปลงสตริงเป็นแฟคเตอร์ในการเรียกdata.frame()และ read.table()การนับอ้างอิงใช้สำหรับการติดตามการแชร์วัตถุ ซึ่งช่วยลดความจำเป็นในการคัดลอกวัตถุ ไวยากรณ์ใหม่สำหรับค่าคงที่สตริงดิบ
4.1.0 2021-05-18 แนะนำ|>เป็นตัวดำเนินการไปป์สำหรับไวยากรณ์ R พื้นฐาน (คล้ายกับตัว%>%ดำเนินการของแพ็คเกจ magrittr) และไวยากรณ์ทางลัด ของ ฟังก์ชันที่ไม่ระบุชื่อ\(x) x+1

อินเทอร์เฟซ

สามารถใช้แอพพลิเคชั่นต่างๆ เพื่อแก้ไขหรือรันโค้ด R ได้ [63]

นักพัฒนารุ่นแรกๆ ต้องการเรียกใช้ R ผ่านคอนโซลบรรทัดคำสั่ง[64]ประสบความสำเร็จโดยผู้ที่ต้องการIDE [65] IDEs สำหรับ R รวม (ตามลำดับตัวอักษร) Rattle GUI , R Commander , RKWard , RStudioและ Tinn-R [64] R ยังได้รับการสนับสนุนใน IDE อเนกประสงค์เช่นEclipseผ่านปลั๊กอิน StatET, [66]และVisual Studioผ่านR Tools สำหรับ Visual Studio [67]ในจำนวนนี้ RStudio เป็นโปรแกรมที่ใช้กันมากที่สุด [65]

บรรณาธิการที่รองรับ R ได้แก่Emacs , Vim (ปลั๊กอิน Nvim-R), [68] Kate , [69] LyX , [70] Notepad++ , [71] Visual Studio Code , WinEdt , [72]และ Tinn-R [73] Jupyter Notebookสามารถกำหนดค่าให้แก้ไขและเรียกใช้รหัส R ได้ [74]

ฟังก์ชัน R สามารถเข้าถึงได้จากภาษาสคริปต์ เช่นPython , [75] Perl , [76] Ruby , [77] F# , [78 ] และJulia [79]สามารถเชื่อมต่อกับภาษาโปรแกรมระดับสูงอื่นๆ เช่นJava [80]และ.NET C# [81] [82]ได้

การนำไปใช้

การใช้งาน R หลักเขียนด้วย R, C และ Fortran [83]การใช้งานอื่น ๆ อีกหลายอย่างมุ่งเป้าไปที่การปรับปรุงความเร็วหรือเพิ่มความสามารถในการขยาย การใช้งานที่เกี่ยวข้องอย่างใกล้ชิดคือ pqR (ค่อนข้างเร็ว R) โดยRadford M. Nealพร้อมการจัดการหน่วยความจำที่ได้รับการปรับปรุงและรองรับมัลติเธรดอัตโนมัติ Renjinและ FastR คือ การนำ Java ของ R ไปใช้ในJava Virtual Machine CXXR, rho และ Riposte [84]เป็นการนำ R ในC++ไปใช้งาน Renjin , Riposteและ pqR พยายามปรับปรุงประสิทธิภาพโดยใช้หลายคอร์และการประเมินที่รอการตัดบัญชี [85]การใช้งานทางเลือกเหล่านี้ส่วนใหญ่เป็นแบบทดลองและไม่สมบูรณ์ โดยมีผู้ใช้ค่อนข้างน้อย เมื่อเทียบกับการใช้งานหลักที่ดูแลโดยทีม R Development Core

TIBCOซึ่งเคยขายการติดตั้งใช้งานเชิงพาณิชย์S-PLUSได้สร้าง เอ็นจิ้น รันไทม์ชื่อ TERR ซึ่งเป็นส่วนหนึ่งของSpotfire [86]

Microsoft R Open (MRO) เป็นการแจกจ่าย R ที่เข้ากันได้อย่างสมบูรณ์พร้อมการปรับเปลี่ยนสำหรับการคำนวณแบบมัลติเธรด [87] [88]ณ วันที่ 30 มิถุนายน พ.ศ. 2564 Microsoft ได้เริ่มเลิกใช้ MRO เพื่อสนับสนุนการแจกจ่าย CRAN [89]

ชุมชน

R มีชุมชนท้องถิ่นทั่วโลกเพื่อให้ผู้ใช้สร้างเครือข่าย แบ่งปันความคิด และเรียนรู้ [90] [91]

กิจกรรม R ที่เพิ่มจำนวนขึ้นเรื่อยๆ นำผู้ใช้มารวมตัวกัน เช่น การประชุม (เช่นuseR! , WhyR? conectaR, SatRdays), [92] [93] มีตติ้ง , [94]เช่นเดียวกับกลุ่มR-Ladies [95]ที่ส่งเสริมเพศความหลากหลาย คณะทำงานเฉพาะกิจของมูลนิธิ R มุ่งเน้นไปที่ผู้หญิงและกลุ่มอื่นๆ ที่มีบทบาทต่ำกว่า [96]

ผู้ใช้! สัมมนา

การรวมตัวประจำปีอย่างเป็นทางการของผู้ใช้ R เรียกว่า "userR!" [97]เหตุการณ์ดังกล่าวครั้งแรกคือ useR! พ.ศ. 2547 ในเดือนพฤษภาคม พ.ศ. 2547 เวียนนาประเทศออสเตรีย [98] หลังจากข้ามปี 2005 ผู้ใช้ R! มีการจัดประชุมเป็นประจำทุกปี โดยจะสลับไปมาระหว่างสถานที่ต่างๆ ในยุโรปและอเมริกาเหนือ [99]ประวัติ: [97]

  • ผู้ใช้! พ.ศ. 2549 เวียนนา ประเทศออสเตรีย
  • ผู้ใช้! 2007, เอมส์, ไอโอวา, สหรัฐอเมริกา
  • ผู้ใช้! 2008, ดอร์ทมุนด์, เยอรมนี
  • ผู้ใช้! 2009, แรนส์, ฝรั่งเศส
  • ผู้ใช้! 2010, เมืองเกเธอร์สเบิร์ก, แมริแลนด์, สหรัฐอเมริกา
  • ผู้ใช้! 2011, โคเวนทรี, สหราชอาณาจักร
  • ผู้ใช้! 2012, แนชวิลล์, เทนเนสซี, สหรัฐอเมริกา
  • ผู้ใช้! 2013, อัลบาเซเต้, สเปน
  • ผู้ใช้! 2014, ลอสแองเจลิส, แคลิฟอร์เนีย, สหรัฐอเมริกา
  • ผู้ใช้! 2015, อัลบอร์ก, เดนมาร์ก
  • ผู้ใช้! 2016, สแตนฟอร์ด, แคลิฟอร์เนีย, สหรัฐอเมริกา
  • ผู้ใช้! 2017, บรัสเซลส์, เบลเยียม
  • ผู้ใช้! 2018, บริสเบน, ออสเตรเลีย
  • ผู้ใช้! 2019, ตูลูส, ฝรั่งเศส
  • ผู้ใช้! 2020 เกิดขึ้นทางออนไลน์เนื่องจากการระบาดของ COVID-19
  • ผู้ใช้! 2021 เกิดขึ้นทางออนไลน์เนื่องจากการระบาดของ COVID-19

การใช้งานครั้งต่อไปR! งานมีกำหนดจัดขึ้นทางออนไลน์ในปลายเดือนมิถุนายน พ.ศ. 2565 [100]

วารสารอาร์

R Journalคือการเข้าถึงแบบเปิดวารสารอ้างอิงของโครงการ R มีบทความสั้นถึงปานกลางเกี่ยวกับการใช้และการพัฒนา R รวมถึงแพ็คเกจ เคล็ดลับการเขียนโปรแกรม ข่าว CRAN และข่าวพื้นฐาน

เปรียบเทียบกับทางเลือกอื่น

R เปรียบได้กับแพ็คเกจสถิติ เชิงพาณิชย์ยอดนิยม เช่นSAS , SPSSและStata ข้อแตกต่างประการหนึ่งคือ R มีให้ใช้งานฟรีภายใต้ลิขสิทธิ์ซอฟต์แวร์ฟรี [11]

ในเดือนมกราคม พ.ศ. 2552 New York Timesได้จัดทำบทความเกี่ยวกับการเติบโตของ R สาเหตุของความนิยมในหมู่นักวิทยาศาสตร์ด้านข้อมูล และภัยคุกคามที่มีต่อแพ็คเกจสถิติเชิงพาณิชย์ เช่น SAS [102] ในเดือนมิถุนายน 2017 นักวิทยาศาสตร์ข้อมูล Robert Muenchen ได้ตีพิมพ์การเปรียบเทียบเชิงลึกระหว่าง R กับแพ็คเกจซอฟต์แวร์อื่นๆ "ความนิยมของซอฟต์แวร์ Data Science" [103]

R เป็นโพรซีเดอร์มากกว่า SAS หรือ SPSS ซึ่งทั้งสองอย่างนี้ใช้โพรซีเดอร์ที่ตั้งโปรแกรมไว้ล่วงหน้า (เรียกว่า "procs") อย่างหนัก ซึ่งรวมอยู่ในสภาพแวดล้อมภาษาและปรับแต่งตามพารามิเตอร์ของการเรียกแต่ละครั้ง โดยทั่วไป R จะประมวลผลข้อมูลในหน่วยความจำ ซึ่งจะจำกัดประโยชน์ในการประมวลผลไฟล์ขนาดใหญ่ [104]

การสนับสนุนทางการค้า

แม้ว่า R จะเป็น โครงการ โอเพ่นซอร์สแต่บางบริษัทก็ให้การสนับสนุนและขยายผลทางการค้า

ในปี 2550 Richard Schultz, Martin Schultz, Steve Weston และ Kirk Mettler ได้ก่อตั้งRevolution Analyticsเพื่อให้การสนับสนุนเชิงพาณิชย์สำหรับ Revolution R ซึ่งเป็นการจำหน่าย R ซึ่งรวมถึงส่วนประกอบที่พัฒนาโดยบริษัท ส่วนประกอบเพิ่มเติมที่สำคัญ ได้แก่ ParallelR, R Productivity Environment IDE, RevoScaleR (สำหรับ การวิเคราะห์ บิ๊กดาต้า ), RevoDeployR, เฟรมเวิร์กบริการเว็บ และความสามารถในการอ่านและเขียนข้อมูลในรูปแบบไฟล์ SAS [105] Revolution Analytics เสนอการแจกจ่าย R ที่ออกแบบให้สอดคล้องกับ เกณฑ์ IQ/OQ/PQที่กำหนดไว้ ซึ่งช่วยให้ลูกค้าในภาคเภสัชกรรมสามารถตรวจสอบการติดตั้ง REvolution R ได้[16]ในปี 2015 Microsoft Corporationได้รับ Revolution Analytics [107]และรวมภาษาการเขียนโปรแกรม R เข้ากับSQL Server , Power BI , Azure SQL Managed Instance , Azure Cortana Intelligence , Microsoft ML Server และVisual Studio 2017 [108]

ในเดือนตุลาคม 2011 Oracleได้ประกาศBig Data Applianceซึ่งรวม R, Apache Hadoop , Oracle Linuxและ ฐานข้อมูล NoSQLเข้ากับฮาร์ดแวร์Exadata [109]ณ ปี 2012 Oracle R Enterprise [110]ได้กลายเป็นหนึ่งในสององค์ประกอบของ "Oracle Advanced Analytics Option" [111] (ควบคู่ไปกับOracle Data Mining ) [ ต้องการการอ้างอิง ]

IBMให้การสนับสนุนสำหรับ การดำเนินการใน Hadoopของ R [112]และจัดเตรียมรูปแบบการเขียนโปรแกรมสำหรับการวิเคราะห์ฐานข้อมูลแบบขนานขนาดใหญ่ใน R. [113]

TIBCOเสนอ R เวอร์ชันรันไทม์ซึ่งเป็นส่วนหนึ่งของSpotfire [14]

Mango Solutions เสนอแพ็คเกจการตรวจสอบสำหรับ R, ValidR, [115] [116]เพื่อให้สอดคล้องกับหน่วยงานอนุมัติยา เช่น FDA หน่วยงานเหล่านี้จำเป็นต้องใช้ซอฟต์แวร์ที่ผ่านการตรวจสอบแล้ว ตามที่ผู้ขายหรือผู้สนับสนุนรับรอง [117]

ตัวอย่าง

ไวยากรณ์พื้นฐาน

ตัวอย่างต่อไปนี้แสดงไวยากรณ์พื้นฐานของภาษาและการใช้อินเทอร์เฟซบรรทัดคำสั่ง (รายการเพิ่มเติมของคุณสมบัติภาษามาตรฐานสามารถพบได้ในคู่มือ R "An Introduction to R" [118] )

ใน R ตัวดำเนินการกำหนด ที่ต้องการโดยทั่วไป คือลูกศรที่สร้างจากอักขระสองตัว<-แม้ว่า=สามารถใช้ได้ในบางกรณี [119] [120]

> x  <-  1 : 6  # สร้างเวกเตอร์ตัวเลขในสภาพแวดล้อมปัจจุบัน
> y  <-  x ^ 2  # สร้างเวกเตอร์ตามค่าใน x 
> พิมพ์( y )  # พิมพ์เนื้อหาของเวกเตอร์ 
[1] 1 4 9 16 25 36

> z  <-  x  +  y  # สร้างเวกเตอร์ใหม่ที่เป็นผลรวมของ x และ y 
> z  # ส่งคืนเนื้อหาของ z ไปยังสภาพแวดล้อมปัจจุบัน 
[1] 2 6 12 20 30 42

> z_matrix  <-  เมทริกซ์( z ,  nrow = 3 )  # สร้างเมทริกซ์ใหม่ที่เปลี่ยนเวกเตอร์ z เป็นวัตถุเมทริกซ์ 3x2 
> z_matrix  
     [,1] [,2] 
[1,] 2 20 
[2,] 6 30 
[ 3,] 12 42

> 2 * t ( z_matrix ) -2  # ย้ายเมทริกซ์ คูณทุกองค์ประกอบด้วย 2 ลบ 2 ออกจากแต่ละองค์ประกอบในเมทริกซ์ และส่งคืนผลลัพธ์ไปยังเทอร์มินัล 
     [,1] [,2] [,3] 
[1,] 2 10 22 
[2,] 38 58 82

> new_df  <-  data.frame ( t ( z_matrix ),  row.names = c ( 'A' , 'B' ))  # สร้างวัตถุ data.frame ใหม่ที่มีข้อมูลจาก z_matrix ที่เปลี่ยนผ่าน โดยมีชื่อแถว 'A ' และ 'B' 
> ชื่อ( new_df )  <-  c ( 'X' , 'Y' , 'Z' )  # ตั้งชื่อคอลัมน์ของ new_df เป็น X, Y และ Z 
> พิมพ์( new_df )   # พิมพ์ปัจจุบัน ผลลัพธ์. 
   XYZ 
A 2 6 12
ข 20 30 42

> new_df $ Z  # ส่งออกคอลัมน์ Z 
[1] 12 42

> new_df $ Z == new_df [ 'Z' ]  &&  new_df [ 3 ] == new_df $ Z  # สามารถเข้าถึง data.frame คอลัมน์ Z ได้โดยใช้ $Z, ['Z'] หรือ [3] ไวยากรณ์ และ ค่าจะเหมือนกัน 
[1] ทรู

> คุณลักษณะ( new_df )  # พิมพ์ข้อมูลแอตทริบิวต์เกี่ยวกับวัตถุ new_df 
$names 
[1] "X" "Y" "Z"

$row.names 
[1] "A" "B"

$class 
[1] "data.frame"

> คุณลักษณะ( new_df ) $ row.names  <-  c ( 'หนึ่ง' , 'สอง' )  # การเข้าถึงแล้วเปลี่ยนแอตทริบิวต์ row.names; สามารถทำได้โดยใช้ rownames() 
> new_df 
     XYZ 
หนึ่ง 2 6 12 
สอง 20 30 42

โครงสร้างของฟังก์ชัน

จุดแข็งประการหนึ่งของ R คือความง่ายในการสร้างฟังก์ชันใหม่ ออบเจ็กต์ในเนื้อหาของฟังก์ชันจะยังคงอยู่ในฟังก์ชัน และอาจส่งคืนประเภทข้อมูลใดๆ [121]ตัวอย่าง:

# ประกาศฟังก์ชัน "f" พร้อมพารามิเตอร์ "x", "y" 
# ที่ส่งกลับค่าผสมเชิงเส้นของ x และ y 
f  <-  function ( x ,  y )  { 
  z  <-  3  *  x  +  4  *  y 
  return ( z )  ## ฟังก์ชัน return() เป็นทางเลือกที่นี่
}
> f ( 1 ,  2 ) 
[1] 11

> f ( c ( 1 , 2 , 3 ),  c ​​( 5 , 3 , 4 )) 
[1] 23 18 25

> f ( 1 : 3 ,  4 ) 
[1] 19 22 25

การสร้างแบบจำลองและการวางแผน

ภาษา R มีการสนับสนุนในตัวสำหรับการสร้างแบบจำลองข้อมูลและกราฟิก ตัวอย่างต่อไปนี้แสดงให้เห็นว่า R สามารถสร้างและลงจุดแบบจำลองเชิงเส้นที่มีเศษเหลือได้อย่างไร

พล็อตการวินิจฉัยจากการพล็อต "แบบจำลอง" (ฟังก์ชัน qv "plot.lm()") สังเกตสัญกรณ์ทางคณิตศาสตร์ที่อนุญาตในป้ายกำกับ (แผนภาพล่างซ้าย)
> x  <-  1 : 6  # สร้างค่า x และ y 
> y  <-  x ^ 2   
> model  <-  lm ( y  ~  x )   # ตัวแบบการถดถอยเชิงเส้น y = A + B * x 
> สรุป( รุ่น)   # แสดงสรุปในเชิงลึกของรุ่น

โทร: 
lm(สูตร = y ~ x)

ตกค้าง: 
      1 2 3 4 5 6 7 8 9 10 
3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333

ค่าสัมประสิทธิ์: 
            ประมาณการมาตรฐาน ค่าผิดพลาด t Pr(>|t|)    
(สกัดกั้น) -9.3333 2.8441 -3.282 0.030453 * 
x 7.0000 0.7303 9.585 0.000662 *** 
--- 
Signif รหัส: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1' ' 1

ข้อผิดพลาดมาตรฐานตกค้าง: 3.055 บน 4 องศาอิสระ
หลาย R-squared: 0.9583 ปรับ R-squared: 0.9478 
F-statistic: 91.88 บน 1 และ 4 DF, p-value: 0.000662

> par ( mfrow  =  c ( 2 ,  2 ))   # สร้างเลย์เอาต์ 2 คูณ 2 สำหรับตัวเลข 
> พล็อต( model )   # เอาท์พุท แผนภาพการวินิจฉัยของโมเดล

ชุดแมนเดลบรอต

โค้ด R แบบสั้นสำหรับคำนวณMandelbrot กำหนดผ่าน 20 การวนซ้ำของสมการz = z 2 + cที่พล็อตสำหรับค่าคงที่เชิงซ้อนที่แตกต่างกันc ตัวอย่างนี้แสดงให้เห็น:

"Mandelbrot.gif" – กราฟิกที่สร้างขึ้นใน R โดยมีโค้ด 14 บรรทัดในตัวอย่างที่ 2
  • การใช้ไลบรารีภายนอกที่พัฒนาโดยชุมชน (เรียกว่าแพ็คเกจ) ในกรณีนี้คือ caTools package
  • การจัดการกับจำนวนเชิงซ้อน
  • อาร์เรย์หลายมิติของตัวเลขที่ใช้เป็นชนิดข้อมูลพื้นฐาน ดูตัวแปรCและZ.X
install.packages ( "caTools" )   # ติดตั้ง
ไลบรารี แพ็คเกจภายนอก ( caTools )              # แพ็คเกจภายนอกที่มีฟังก์ชัน
write.gif jet.colors  <-  colorRampPalette ( c ( "green" ,  "pink" ,  "#007FFF" ,  "cyan" ,  "#7FFF7F" , 
                                 "สีขาว" ,  "#FF7F00" ,  "สีแดง" ,  "#7F0000" )) 
dx  <-  1500                     # กำหนดความกว้าง
dy  <-  1400                     # กำหนดความสูง
C   <- ซับซ้อน( จริง =  ตัวแทน( seq ( -2.2 ,  1.0 ,  length.out  =  dx ),  แต่ละ =  dy ), 
              imag  =  ตัวแทน( seq ( -1.2 ,  1.2 ,  length.out  =  dy ),  dx )) 
C  <-  เมทริกซ์( C ,  dy ,  dx )        # reshape เป็นเมทริกซ์กำลังสองของจำนวนเชิงซ้อน
Z  <-  0                        # เริ่มต้น Z เป็นศูนย์
X  <-  array ( 0 ,  c ( dy ,  dx ,  20 ))  # เริ่มต้นเอาต์พุต 3D array 
สำหรับ( k  ​​ใน 1 : 20 )  {             # วนซ้ำ 20 ครั้ง
  Z  <-  Z ^ 2  +  C                # สมการผลต่างส่วนกลาง
  X [ ,  ,  k ]  <-  exp ( - abs ( Z ))    # จับผลลัพธ์
} 
write.gif ( X , "Mandelbrot.gif" ,  col  =  jet.colors ,  ล่าช้า =  100 )

ดูเพิ่มเติม

หมายเหตุ

  1. ^ ณ วันที่ 13 มิถุนายน 2020 Metacran ได้ระบุแพ็คเกจหลัก 7 ใน 8 แพ็คเกจของ Tidyverse ในรายการแพ็คเกจ R ที่ดาวน์โหลดส่วนใหญ่

อ้างอิง

  1. อรรถเป็น Morandat, ฟรานเซส; ฮิลล์ แบรนดอน; ออสวัลด์, ลีโอ; Vitek, ม.ค. (11 มิถุนายน 2555). "การประเมินการออกแบบภาษา R: ออบเจ็กต์และฟังก์ชันสำหรับการวิเคราะห์ข้อมูล" . การประชุมยุโรป ว่าด้วยการเขียนโปรแกรมเชิงวัตถุ 2555 : 104–131. ดอย : 10.1007/978-3-642-31057-7_6 . สืบค้นเมื่อ17 พฤษภาคม 2559 – ผ่าน SpringerLink.
  2. ^ ปีเตอร์ ดัลการ์ด (10 มีนาคม 2565) "R 4.1.3 เปิดตัวแล้ว " สืบค้นเมื่อ10 มีนาคม 2565 .
  3. ^ "สคริปต์อาร์" . mercury.webster.edu _ สืบค้นเมื่อ17 กรกฎาคม 2021 .
  4. ^ "R Data Format Family (.rdata, .rda)" . ล็อค. gov . 9 มิถุนายน 2560 . สืบค้นเมื่อ17 กรกฎาคม 2021 .
  5. ^ "แนะนำตัว" . คู่มือจูเลีย เก็บถาวรจากต้นฉบับเมื่อ 20 มิถุนายน 2018 . สืบค้นเมื่อ5 สิงหาคม 2561 .
  6. ^ ความนิยมของอาร์
  7. ^ "ดัชนี TIOBE - บริษัทคุณภาพซอฟต์แวร์ " ทีโอบี สืบค้นเมื่อ12 มีนาคม 2565 .{{cite web}}: CS1 maint: url-status (link)
  8. อรรถเป็น c d อี เคิร์ต Hornik. คำถามที่พบบ่อยเกี่ยวกับ R: ทำไมต้อง R? . ISBN 3-900051-08-9. สืบค้นเมื่อ29 มกราคม 2551 .
  9. Becker, Richard A., A Brief History of S , CiteSeerX 10.1.1.131.1428 , ดึงข้อมูลเมื่อ 12 มกราคม 2022 
  10. ซัสมัน, เจอรัลด์ เจ; สตีล, กาย แอล. (1 ธันวาคม 2541). "รายงานฉบับแรกเกี่ยวกับโครงการทบทวน" . ลำดับที่สูงขึ้นและการคำนวณเชิงสัญลักษณ์ 11 (4): 399–404. ดอย : 10.1023/A:1010079421970 . ISSN 1573-0557 . S2CID 7704398 .  
  11. ^ "วิชาการไม่สะทกสะท้านสถานะร็อคสตาร์" . นิวซีแลนด์ เฮรัลด์ สืบค้นเมื่อ30 ธันวาคม 2021 .
  12. ^ a b c Ihaka, รอสส์ (1998). R : อดีตและอนาคต (PDF) (รายงานทางเทคนิค). Interface '98: แผนกสถิติ, มหาวิทยาลัยโอ๊คแลนด์, โอ๊คแลนด์, นิวซีแลนด์. {{cite techreport}}: CS1 maint: location (link)
  13. ^ "ใบอนุญาต R" . r- โครงการ สืบค้นเมื่อ5 สิงหาคม 2561 .
  14. ^ โครงการกนู
    • "กนู อาร์" . มูลนิธิซอฟต์แวร์ฟรี (FSF) ไดเรกทอรีซอฟต์แวร์ฟรี 23 เมษายน 2561 . สืบค้นเมื่อ7 สิงหาคม 2018 .
    • โครงการอาร์ (nd). “อาร์เป็นอะไร” . สืบค้นเมื่อ7 สิงหาคม 2018 .
  15. ^ "ประวัติศาสตร์โครงการอาร์กว่า 16 ปี" . ปฏิวัติ. สืบค้นเมื่อ30 พฤษภาคม 2559 .
  16. ^ อิฮากะ, รอสส์. "โครงการอาร์: ประวัติโดยย่อและความคิดเกี่ยวกับอนาคต" (PDF ) stat.auckland.ac.nz .
  17. เคิร์ต ฮอร์นิก (23 เมษายน 1997) "ประกาศ : CRAN" . r-ช่วย วิกิสนเทศQ101068595 . .
  18. ^ a b "CRAN - กระจกเงา" . cran.r-project.org _ สืบค้นเมื่อ15 มกราคม 2022 .
  19. ^ "CRAN - แพ็คเกจร่วม" . cran.r-project.org _ สืบค้นเมื่อ3 มกราคม 2022 .
  20. ^ "ร: ผู้มีส่วนร่วม" . โครงการอาร์. สืบค้นเมื่อ14 กรกฎาคมพ.ศ. 2564 .
  21. ^ Mächler มาร์ติน; Hornik, เคิร์ต (ธันวาคม 2014). “ข่าวมูลนิธิอาร์” (PDF) . วารสารอาร์. สืบค้นเมื่อ30 ธันวาคม 2021 . {{cite web}}: CS1 maint: url-status (link)
  22. ^ a b c Dalgaard, ปีเตอร์ (2002). สถิติเบื้องต้นด้วย R นิวยอร์ก เบอร์ลิน ไฮเดลเบิร์ก: Springer-Verlag หน้า  10 –18, 34. ISBN  0387954759.
  23. ^ ข้อมูล เบื้องต้นเกี่ยวกับ R , ส่วน 5.1: อาร์เรย์ สืบค้นเมื่อ 2010-03จาก https://cran.r-project.org/doc/manuals/R-intro.html#Arrays
  24. ^ เฉิน ฮั่นเฟิง; Wai-mee, ชิง; ต้า เจิ้ง. "การศึกษาเปรียบเทียบประสิทธิภาพการดำเนินการของ MATLAB และ APL" (PDF ) มหาวิทยาลัยแมคกิลล์. สืบค้นเมื่อ16 กุมภาพันธ์ 2022 .
  25. ^ อิฮากะ รอสส์; สุภาพบุรุษ, โรเบิร์ต (กันยายน 2539) "R: ภาษาสำหรับการวิเคราะห์ข้อมูลและกราฟิก" (PDF ) วารสารสถิติเชิงคำนวณและกราฟิก . สมาคมสถิติอเมริกัน 5 (3): 299–314. ดอย : 10.2307/1390807 . จส ทอ ร์ 1390807 . สืบค้นเมื่อ12 พฤษภาคม 2557 .  
  26. ^ "โครงสร้างข้อมูล·ขั้นสูง R" adv-r.had.co.nz . สืบค้นเมื่อ26 กันยายน 2559 .
  27. ^ "ร: ร คืออะไร" . R-project.org . สืบค้นเมื่อ17 กุมภาพันธ์ 2022 .
  28. ^ ไวท์, โฮเมอร์. 14.1 กระบวนทัศน์การเขียนโปรแกรม | เริ่มต้นวิทยาการคอมพิวเตอร์ด้วย R .
  29. แจ็คแมน, ไซมอน (ฤดูใบไม้ผลิ พ.ศ. 2546). "ร. วิชาระเบียบวิธีทางการเมือง" (PDF) . นักระเบียบวิธีทางการเมือง . ส่วนระเบียบวิธีทางการเมือง สมาคมรัฐศาสตร์อเมริกัน . 11 (1): 20–22. เก็บถาวรจากต้นฉบับ(PDF)เมื่อ 21 กรกฎาคม 2549 . สืบค้นเมื่อ13 กันยายน 2018 .
  30. เอ็ดเดลบูเทล, เดิร์ก; ฟรองซัวส์, โรแมง (2554). "Rcpp: การรวม R และ C++อย่าง ราบรื่น" วารสารซอฟต์แวร์สถิติ . 40 (8). ดอย : 10.18637 /jss.v040.i08
  31. ^ "nution-j2r: ไลบรารี Java เพื่อเรียกใช้ฟังก์ชันเนทีฟ R" สืบค้นเมื่อ13 กันยายน 2018 .
  32. ^ .NET Framework
  33. ^ R คู่มือ "การเขียนส่วนขยาย R " r-project.org . สืบค้นเมื่อ13 กันยายน 2018 .
  34. ^ "ฟังก์ชัน·ขั้นสูง R" adv-r.had.co.nz .
  35. ^ อาร์ทีมหลัก. "พิมพ์ค่า" . เอกสารร. มูลนิธิอาร์เพื่อการคำนวณ ทางสถิติ สืบค้นเมื่อ30 พฤษภาคม 2559 .
  36. แฮดลีย์ วิคแฮม; ไบรอัน, เจนนี่. "แพ็คเกจ R: จัดระเบียบ ทดสอบ จัดทำเอกสาร และแบ่งปันรหัสของคุณ " {{cite journal}}: Cite journal requires |journal= (help)
  37. ^ แชมเบอร์ส, จอห์น เอ็ม. (2020). "S, R และ Data Science" . วารสารอาร์ . 12 (1): 462–476. ดอย : 10.32614/RJ-2020-028 . ISSN 2073-4859 . 
  38. ^ แวนซ์ แอชลี (6 มกราคม 2552) "นักวิเคราะห์ข้อมูลหลงใหลในพลังของอาร์ " นิวยอร์กไทม์ส .
  39. ทิปป์มันน์, ซิลเวีย (29 ธันวาคม 2014). "เครื่องมือการเขียนโปรแกรม: ผจญภัยกับอาร์" . ข่าวธรรมชาติ . 517 (7532): 109–110. ดอย : 10.1038/517109a . PMID 25557714 . 
  40. ^ ธีม, นิค (2018) "รุ่นอาร์" . ความสำคัญ . 15 (4): 14–19. ดอย : 10.1111/j.1740-9713.2018.01169.x . ISSN 1740-9713 . 
  41. ^ ใช้กันอย่างแพร่หลาย
  42. ^ มาร์วิค เบน; Boettiger, คาร์ล; Mullen, ลินคอล์น (26 สิงหาคม 2017). "งานวิเคราะห์ข้อมูลบรรจุภัณฑ์ทำซ้ำได้โดยใช้ R (และผองเพื่อน) " งานพิมพ์ PeerJ ดอย : 10.7287/peerj.preprints.3192v1 . ISSN 2167-9843 . 
  43. ^ "Omegahat.net" . Omegahat.net . สืบค้นเมื่อ16 กันยายน 2018 .
  44. ^ แพ็คเกจพร้อมใช้งานจากที่เก็บ
  45. วิคแฮม แฮดลีย์; ไบรอัน, เจนนิเฟอร์. บทที่ 10 เอกสารอ็อบเจ็กต์ | อา ร์แพ็คเกจ
  46. ^ "การจัดรูปแบบถนน" . cran.r-project.org _ สืบค้นเมื่อ 16 สิงหาคม 2021
  47. ^ "มุมมองงาน CRAN" . cran.r-project.org _ สืบค้นเมื่อ16 กันยายน 2018 .
  48. ^ "อย.: ตกลงสำหรับการทดลองยา" . สืบค้นเมื่อ16 กันยายน 2018 .
  49. ^ "CRAN Time Machine. MRAN" . สืบค้นเมื่อ26 ธันวาคม 2019 .
  50. ^ "อาร์-ฟอร์จ: ยินดีต้อนรับ" . สืบค้นเมื่อ16 กันยายน 2018 .
  51. ^ ฮูเบอร์ ดับเบิลยู; แครี่ วีเจ; สุภาพบุรุษ, อาร์; แอนเดอร์ส, เอส; คาร์ลสัน เอ็ม; คาร์วัลโญ่ บริติชโคลัมเบีย; ไชโย, HC; เดวิส, เอส; กัตโตะ, แอล; เกิร์ค, ที; กอตตาร์โด, อาร์; ฮาห์เน, เอฟ; แฮนเซน KD; Irizarry, RA; ลอว์เรนซ์ เอ็ม; รัก มิชิแกน; แมคโดนัลด์ เจ; Obenchain, วี; โอเล่ อลาสกา; Pages, H; เรเยส เอ; แชนนอน, พี; สมิท, จีเค; Tenenbaum, D; วัลดรอน, แอล; มอร์แกน, เอ็ม (2015). "การเตรียมการวิเคราะห์จีโนมปริมาณงานสูงด้วยสารตัวนำชีวภาพ" . วิธีธรรมชาติ . กลุ่มสำนักพิมพ์ธรรมชาติ . 12 (2): 115–121. ดอย : 10.1038/nmeth.3252 . พี เอ็มซี 4509590 . PMID 25633503 .  
  52. เลวิน-เกาะ, นิโคลัส (7 มกราคม 2015). "มุมมองงาน CRAN: การแสดงกราฟิก & กราฟิกแบบไดนามิก & อุปกรณ์กราฟิก & การสร้างภาพ " เครือข่าย R Archive ที่ครอบคลุม เก็บถาวรจากต้นฉบับเมื่อ 26 กันยายน 2559 . สืบค้นเมื่อ13 กันยายน 2018 . {{cite journal}}: Cite journal requires |journal= (help)
  53. ^ "เอกสารประกอบ Spark API" . จุดประกาย .
  54. ^ "SparkR (R บน Spark)" . จุดประกาย .
  55. ^ การเปลี่ยนแปลงในเวอร์ชัน 3.0.0 เป็นต้นไป: "R News " cran.r-project.org _ สืบค้นเมื่อ3 กรกฎาคม 2557 . บันทึกการเปลี่ยนแปลงก่อนหน้านี้ (ตามหมายเลขรุ่นหลัก):
    • "ข่าว" . cran.r-project.org _ สืบค้นเมื่อ28 มิถุนายน 2020 .
    • "NEWS.3" . cran.r-project.org _ สืบค้นเมื่อ28 มิถุนายน 2020 .
    • "NEWS.2" . cran.r-project.org _ สืบค้นเมื่อ8 เมษายน 2017 .
    • "ข่าว.1" . cran.r-project.org _ สืบค้นเมื่อ8 เมษายน 2017 .
    • "ข่าว.0" . cran.r-project.org _ สืบค้นเมื่อ8 เมษายน 2017 .
  56. ^ "ดัชนีของ /src/base/R-0" . cran.r-project.org _
  57. ^ "ประกาศ: CRAN" . stat.ethz.ch .
  58. ^ "0.99 SERIES NEWS : การเปลี่ยนแปลงในเวอร์ชัน R 0.99.0 " Cran.r-project.org _ สืบค้นเมื่อ18 กุมภาพันธ์ 2022 .
  59. ปีเตอร์ ดัลการ์ด. "R-1.0.0 เปิดตัว" . สถิติ . ethz.ch สืบค้นเมื่อ6 มิถุนายน 2552 .
  60. ^ "การเปลี่ยนแปลงในเวอร์ชัน R 2.7.0 " Cran-archive.r-project.org _ สืบค้นเมื่อ18 กุมภาพันธ์ 2022 .
  61. ^ "คำถามที่พบบ่อย R" . Cran.r-project.org _ สืบค้นเมื่อ20 มีนาคม 2563 .
  62. ออตโตโบนี เคลลี; สตาร์ค, ฟิลิป บี. (2018). "ปัญหาสุ่มกับอาร์". arXiv : 1809.06520 [ cs.MS ].
  63. ^ "คำแนะนำสำหรับโปรแกรมแก้ไขข้อความ Windows สำหรับ R (StackOverflow) " Stackoverflow.com _ สืบค้นเมื่อ20 ธันวาคม 2020 .
  64. ^ a b "โพล: R GUI ที่คุณใช้บ่อย (2011) " kdnuggets.com ครับ สืบค้นเมื่อ18 กันยายน 2018 .
  65. a b "R Programming - The State of Developer Ecosystem in 2020 Infographic" . JetBrains: เครื่องมือสำหรับนักพัฒนาสำหรับมืออาชีพและทีม สืบค้นเมื่อ 16 สิงหาคม 2021
  66. สเตฟาน วอห์บริงค์. "StatET สำหรับ R "
  67. ^ "ทำงานกับ R ใน Visual Studio " สืบค้นเมื่อ14 ธันวาคม 2020 .
  68. ^ "Nvim-R - Plugin เพื่อใช้งาน R : vim online" . Vim.org _ สืบค้นเมื่อ6 มีนาคม 2019 .
  69. ^ "การเน้นไวยากรณ์" . เคท ดีเวลลอปเม้นท์ ทีม. เก็บถาวรจากต้นฉบับเมื่อ 7 กรกฎาคม 2551 . สืบค้นเมื่อ9 กรกฎาคม 2551 .
  70. พอล อี. จอห์นสัน และ เกรเกอร์ กอร์แยงก์ "LyX กับ R ถึง Sweave " สืบค้นเมื่อ4 เมษายน 2560 .
  71. ^ "NppToR: R ใน Notepad++ " sourceforge.net 8 พฤษภาคม 2556 . สืบค้นเมื่อ18 กันยายน 2556 .
  72. อูเว ลิกเกส (5 มกราคม 2017). "RWinEdt: อินเทอร์เฟซ R กับ 'WinEdt'. สืบค้นเมื่อ4 เมษายน 2017 .
  73. ^ "ทิน-อาร์" . สืบค้นเมื่อ5 มีนาคม 2019 .
  74. ^ "การใช้ภาษาโปรแกรม R ใน Jupyter Notebook " อนาคอนด้า. สืบค้นเมื่อ14 กันยายน 2020 .
  75. โกติเยร์, โลร็องต์. "rpy2 - R ใน Python " สืบค้นเมื่อ 30 พฤศจิกายน 2021{{cite web}}: CS1 maint: url-status (link)
  76. ^ ฟลอเรนท์ แองกลี. "Statistics::R - อินเทอร์เฟซ Perl กับโปรแกรมสถิติ R " Metacpan.org _
  77. อเล็กซ์ กัตต์ริดจ์ (15 กรกฎาคม พ.ศ. 2564) "GitHub - alexgutteridge/rsruby: Ruby - สะพาน R" . Github.com .
  78. ^ เมืองหลวงบลูเมาเท่น "ผู้ให้บริการประเภท F# R "
  79. ^ "JuliaInterop/RCall.jl" . Github.com . 2 มิถุนายน 2564
  80. ^ "Rserve - เซิร์ฟเวอร์ไบนารี R - RForge.net " Rforge.net .
  81. ^ "konne/RserveCLI2" . Github.com . 8 มีนาคม 2564
  82. ^ "อาร์.เน็ต" . Jmp75.github.io ครับ สืบค้นเมื่อ18 กุมภาพันธ์ 2022 .
  83. ^ "r-source: อ่านเฉพาะมิเรอร์ของซอร์สโค้ด R บน GitHub " GitHub . สืบค้นเมื่อ14 กันยายน 2019 .
  84. ^ ทัลบอต จัสติน; เดวิโต, แซคคารี; Hanrahan, Pat (1 มกราคม 2555). "Riposte: คอมไพเลอร์ที่ขับเคลื่อนด้วยการติดตามและ VM แบบขนานสำหรับ Vector Code ใน R" การดำเนินการของการประชุมนานาชาติครั้งที่ 21 ว่าด้วยสถาปัตยกรรมคู่ขนานและเทคนิคการรวบรวม ACM: 43–52. ดอย : 10.1145/2370816.2370825 . S2CID 1989369 . 
  85. นีล, แรดฟอร์ด (25 กรกฎาคม 2013). "การประเมินรอการตัดบัญชีใน Renjin, Riposte และ pqR " บล็อก ของRadford Neal สืบค้นเมื่อ6 มีนาคม 2560 .
  86. แจ็กสัน, โยอาบ (16 พฤษภาคม 2556). TIBCO เสนอ R ฟรีให้กับองค์กร พีซีเวิลด์ . สืบค้นเมื่อ 20 กรกฎาคม 2558.
  87. ^ "บ้าน" . mran.microsoft.com . สืบค้นเมื่อ 22 พฤศจิกายน 2021
  88. ^ "Microsoft R Open: การกระจาย R ที่ปรับปรุงแล้ว" . สืบค้นเมื่อ30 มิถุนายน 2018 .
  89. ^ "มองไปสู่อนาคตสำหรับ R ใน Azure SQL และ SQL Server " 30 มิถุนายน 2564 . สืบค้นเมื่อ 7 พฤศจิกายน 2021
  90. ^ "ไดเรกทอรีกลุ่มผู้ใช้ Local R " บล็อก การปฏิวัติ สืบค้นเมื่อ12 พฤษภาคม 2018 .
  91. ^ รายการการประชุมและ การประชุม R กระโดดแม่น้ำ. สืบค้นเมื่อ12 พฤษภาคม 2018 .
  92. ^ "เว็บไซต์อย่างเป็นทางการของการประชุม WhyR" . ทำไมอาร์? . สืบค้นเมื่อ26 มิถุนายน 2019 .
  93. ^ "รายการ SatRdays" . เสาร์R วัน สืบค้นเมื่อ26 มิถุนายน 2019 .
  94. ^ "โครงการ R สำหรับคอมพิวเตอร์เชิงสถิติ" . มีต ติ้ง. สืบค้นเมื่อ12 พฤษภาคม 2018 .
  95. ^ "อาร์ เลดี้" . อาร์ สุภาพสตรี. สืบค้นเมื่อ12 พฤษภาคม 2018 .
  96. ^ "เดินหน้า" . สืบค้นเมื่อ23 มีนาคม 2020 .
  97. ^ a b "R: การประชุม" . r-project.org . 1 พฤศจิกายน 2562 . สืบค้นเมื่อ19 พฤศจิกายน 2019 .
  98. ^ "userr! 2004 - การประชุมผู้ใช้ R " 27 พฤษภาคม 2547 . สืบค้นเมื่อ9 กันยายน 2018 .
  99. ^ โครงการ R (9 สิงหาคม 2556). "การประชุมที่เกี่ยวข้องกับ R" . สืบค้นเมื่อ15 สิงหาคม 2019 .
  100. ^ "ยูสเซอร์! 2022" . ผู้ ใช้2022.r-project.org สืบค้นเมื่อ11 มีนาคม 2565 .
  101. ^ เบิร์นส์ แพทริค (27 กุมภาพันธ์ 2550) "การเปรียบเทียบ R กับ SAS, Stata และ SPSS" (PDF ) สืบค้นเมื่อ18 กันยายน 2556 .
  102. ^ R เป็นการแข่งขันสำหรับแพ็คเกจสถิติเชิงพาณิชย์
  103. มึนเชน, โรเบิร์ต (19 มิถุนายน 2017). "ความนิยมของซอฟต์แวร์วิทยาศาสตร์ข้อมูล" . สืบค้นเมื่อ21 พฤศจิกายน 2018 .
  104. ^ "อาร์กับ SPSS" .
  105. มอร์แกน, ทิโมธี พริกเก็ตต์ (2011-02-07). "'Red Hat สำหรับสถิติ' เป็นแบบตัวต่อตัวกับ SAS" The Register, 7 กุมภาพันธ์ 2011. ดึงข้อมูลจาก https://www.theregister.co.uk/2011/02/07/revolution_r_sas_challenge/
  106. ^ "การวิเคราะห์ข้อมูลการทดลองทางคลินิกสำหรับการส่ง FDA ด้วย R " การวิเคราะห์การปฏิวัติ 14 มกราคม 2552 . สืบค้นเมื่อ20 กันยายน 2561 .
  107. ^ ซีรอช, โจเซฟ. "Microsoft ปิดการเข้าซื้อกิจการของ Revolution Analytics " บล็อก . technet.com ไมโครซอฟต์. สืบค้นเมื่อ20 กันยายน 2561 .
  108. ^ "แนะนำเครื่องมือ R สำหรับ Visual Studio " สืบค้นเมื่อ20 กันยายน 2561 .
  109. ^ Big Data Appliance ของ Oracle Corporation
  110. คริส คานาราคัส (2012); Oracle Stakes อ้างสิทธิ์ใน R ด้วย Advanced Analytics Launch , PC World, 8 กุมภาพันธ์ 2012
  111. ^ ดั๊ก Henschen (2012); Oracle Stakes ใน R ด้วย Advanced Analytics Launch , InformationWeek, เมษายน 4, 2012
  112. ^ "มีอะไรใหม่ใน IBM InfoSphere BigInsights v2.1.2 " ไอบีเอ็ม. เก็บถาวรจากต้นฉบับเมื่อ 6 กันยายน 2557 . สืบค้นเมื่อ8 พฤษภาคม 2557 .
  113. ^ "ระบบ IBM PureData สำหรับการวิเคราะห์" (PDF ) ไอบีเอ็ม. เก็บถาวรจากต้นฉบับ(PDF)เมื่อ 17 พฤษภาคม 2557 . สืบค้นเมื่อ8 พฤษภาคม 2557 .
  114. ^ ทิบโก้. "ปลดปล่อยความคล่องตัวของ R สำหรับองค์กร" สืบค้นเมื่อ15 พฤษภาคม 2557 .
  115. ^ "ValidR บนเว็บไซต์ Mango" . สืบค้นเมื่อ24 กันยายน 2561 .
  116. ^ Andy Nicholls ที่ Mango Solutions "ValidR Enterprise: การพัฒนา R Validation Framework" (PDF ) สืบค้นเมื่อ24 กันยายน 2561 .
  117. ^ อย. "คำชี้แจงชี้แจงเกี่ยวกับซอฟต์แวร์ทางสถิติ" (PDF ) สำนักงานคณะกรรมการอาหารและยา . สืบค้นเมื่อ24 กันยายน 2561 .
  118. ^ "An Introduction to R. Notes on R: A Programming Environment for Data Analysis and Graphics" (PDF) . สืบค้นเมื่อ3 มกราคม 2021 .
  119. ^ R พัฒนาทีมหลัก "การมอบหมายด้วย = ตัวดำเนินการ" สืบค้นเมื่อ11 กันยายน 2018 .
  120. ^ ตัวดำเนินการกำหนดที่ใช้มากที่สุดใน R is<-
  121. คาบาคอฟฟ์, โรเบิร์ต (2012). "Quick-R: ฟังก์ชันที่กำหนดโดยผู้ใช้ " statmethods.net . สืบค้นเมื่อ28 กันยายน 2018 .

ลิงค์ภายนอก