วิธีติดตั้ง R Packages จาก Command Line: คู่มือฉบับสมบูรณ์

By Leonard Cucosth
Rการเขียนโปรแกรม

เรียนรู้วิธีติดตั้ง R packages จาก command line โดยใช้ฟังก์ชัน install.packages(), CRAN mirrors และ GitHub repositories คู่มือฉบับสมบูรณ์นี้ครอบคลุมการจัดการ packages ใน R รวมถึงการติดตั้ง โหลด และลบ packages จาก terminal

ไม่ว่าคุณจะต้องการติดตั้ง packages จาก CRAN, GitHub หรือไฟล์ในเครื่อง บทเรียนนี้จะแสดงคำสั่ง R ที่แม่นยำสำหรับการติดตั้ง packages จาก command line นอกจากนี้เรายังครอบคลุมการเลือก CRAN mirror, package dependencies, ปัญหา masking และการแก้ไขข้อผิดพลาดที่พบบ่อย

R Package Management คืออะไร? คู่มือฉบับสมบูรณ์

พูดง่ายๆ R package ประกอบด้วยชุดของ R functions เช่น datasets, ไฟล์สนับสนุน และ compiled code ที่บรรจุอย่างกระชับและกำหนดไว้อย่างชัดเจน

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

กระบวนการทั้งหมดนี้เกิดขึ้นโดยอัตโนมัติและไม่ต้องการการแทรกแซงจากผู้ใช้ นอกจากซอฟต์แวร์เองแล้ว ไฟล์ติดตั้ง R ยังมี packages เริ่มต้นหรือที่แนะนำประมาณ 30 packages โดยประมาณ 7 packages จะถูกโหลดเข้าหน่วยความจำทันทีเมื่อเปิด R

Packages เหล่านี้ถูกติดตั้งในโฟลเดอร์ที่กำหนดบนคอมพิวเตอร์ของคุณและใช้สำหรับงานคำนวณที่หลากหลาย เช่น การจัดการข้อมูลและการวิเคราะห์ทางสถิติ

อย่างไรก็ตาม เนื่องจาก R เป็นภาษาโปรแกรมแบบ open-source จึงมี user-contributed packages จำนวนมากที่พร้อมใช้งานสำหรับวัตถุประสงค์ต่างๆ และเข้าถึงได้โดยทุกคน

Packages เหล่านี้สามารถเข้าถึงได้จาก เว็บไซต์ CRAN หรือ repositories ของ R ส่วนถัดไปให้รายละเอียดเพิ่มเติมเกี่ยวกับวิธีดาวน์โหลดและติดตั้ง user-contributed R packages

เปิด R และรันคำสั่งต่อไปนี้ใน R console:

search()

และผลลัพธ์:

R console output แสดง search path พร้อม loaded packages รวมถึง stats, graphics, grDevices, utils, datasets, methods และ base. ที่มา: uedufy.com

R console แสดงผลลัพธ์คำสั่ง search()

ผลลัพธ์ R ด้านบน (บรรทัดที่สองและสาม) แสดงชุดของ search path items ตัวเลขในวงเล็บเหลี่ยมแสดงตำแหน่ง index ของ unit ที่อยู่ทางขวาทันที เช่น ตัวเลข [5] บ่งบอกว่า item ที่ห้าในรายการคือ package grDevices

คุณสามารถสังเกตได้ว่าไม่ใช่ทุก packages จะมีหมายเลขตำแหน่ง [x] กำกับไว้ แต่ตราบใดที่คุณนับได้ คุณก็สามารถหาตำแหน่งที่เกี่ยวข้องได้ด้วยตัวเอง

ผลลัพธ์ข้างต้นอาจปรากฏแตกต่างกันเล็กน้อยในระบบ R ของคุณ ตัวอย่างเช่น บนหน้าจออื่นๆ หน้าต่าง R console จะถูกปรับขนาดอัตโนมัติให้พอดีกับความละเอียดที่รองรับ โดยเฉพาะความกว้าง ดังนั้น R console จะถูกปรับขนาดให้ตรงกัน

อีกเหตุผลหนึ่งอาจเป็นเพราะคุณมี packages อื่นๆ โหลดอยู่ในระบบ ไม่ว่าจะเป็นเพราะคุณติดตั้งเองหรือเพราะทีม R ได้รวม (หรือลบ) packages ปกติใน R เวอร์ชันใหม่กว่า

ต่อไป มาดู options ที่สำคัญบางอย่างในผลลัพธ์คำสั่ง search() ด้านบน:

GlobalEnv entry มักจะอยู่ในตำแหน่งแรก [1] ของ search route และไม่ใช่ R package GlobalEnv ย่อมาจาก Global Environment และแทนตำแหน่งที่ R objects ที่สร้างใหม่ถูกวางไว้ในหน่วยความจำ

Package package:base จะอยู่ตำแหน่งสุดท้ายเสมอ และไม่เหมือน packages อื่นๆ package:base ไม่สามารถลบออกได้

หากคุณใช้ RStudio คุณจะเห็น entry เพิ่มเติมที่นี่ คือ tools:rstudio นอกเหนือจากผลลัพธ์ด้านบน

โปรดจำไว้ว่า 30 default R packages ไม่ได้ถูกโหลดทั้งหมดในหน่วยความจำเมื่อเปิด R คุณสามารถใช้ฟังก์ชัน library ใน R เพื่อโหลด packages เหล่านี้หรือ packages อื่นๆ ที่ติดตั้งแล้วแต่ยังไม่ได้โหลดในหน่วยความจำ R

ตัวอย่างเช่น package MASS เป็นหนึ่งใน 30 packages ที่ติดตั้งแต่ไม่ได้โหลดในหน่วยความจำ ผมจะใช้คำสั่ง library เพื่อโหลด:

library(MASS)

และผลลัพธ์:

R console แสดง MASS package ถูกโหลดในตำแหน่ง 2 ของ search path. ที่มา: uedufy.com

โหลด MASS package โดยใช้คำสั่ง library()

ดังที่คุณเห็น package:MASS ถูกโหลดในตำแหน่ง [2] เมื่อติดตั้ง และ packages อื่นๆ ทั้งหมดถูกเลื่อนไปตำแหน่งที่สูงขึ้นหนึ่งตำแหน่ง

สิ่งสำคัญที่ต้องจำคือตำแหน่ง [x] ของแต่ละ package ใน search path มีความสำคัญเพราะกำหนดลำดับความสำคัญสำหรับการทำซ้ำของ functions

เมื่อเราโหลด packages เข้าหน่วยความจำ R เราทำให้แน่ใจว่า functions ใน packages เหล่านี้พร้อมใช้งานตลอด session จำไว้ว่าการจัดการหน่วยความจำมีบทบาทสำคัญในการเขียนโปรแกรม

Packages ที่ไม่จำเป็นใน session สามารถถูกยกเว้นจาก search route ได้ ในการ unload package ออกจากหน่วยความจำ คุณต้องใช้คำสั่ง detach ดังนี้:

detach(package:MASS)

คุณยังสามารถลบ package ออกจากหน่วยความจำโดยระบุหมายเลขตำแหน่งดังแสดงด้านล่าง:

detach(pos=2)

คุณจะลบ package stats ออกจาก R search path หากคุณรันคำสั่งก่อนหน้า เมื่อลบแล้ว คุณจะได้รับข้อความ error หากคุณต้องการใช้ functions ใน package นี้

หากคุณต้องการรายละเอียดเพิ่มเติม ดูหน้า help ของ detach สำหรับข้อมูลเพิ่มเติม คุณสามารถโหลด package ได้ทุกเมื่อที่ต้องการโดยไม่มีผลเสียต่อระบบของคุณโดยใช้คำสั่งด้านล่าง:

library(stats)

หมายเหตุ: ดังที่กล่าวก่อนหน้านี้ packages package:base และ GlobalEnv ไม่สามารถลบออกได้

สิ่งสำคัญที่ต้องจำคือ packages ที่คุณโหลดด้วยตนเองโดยใช้คำสั่ง library จะถูก detach โดยอัตโนมัติเมื่อคุณออกจาก R และจะไม่ถูก reload เมื่อคุณเริ่ม R session ใหม่

และอีกสิ่งหนึ่ง คุณอาจเคยได้ยินเกี่ยวกับ user-contributed R packages หากไม่ คุณควรรู้ว่า packages เหล่านี้พัฒนาโดยผู้ใช้ R ทั่วโลกและฟรีทั้งหมด

User-contributed packages มีอยู่บน เว็บไซต์โครงการ CRAN และมีจำนวนมากสำหรับทุกสถานการณ์ที่คุณอาจต้องการ ลองไปดู

มี packages ชุมชนมากกว่า 14,000 packages พร้อมติดตั้งและใช้งานใน R ณ เวลาที่เขียนบทเรียนนี้ แม้ว่าจำนวนจะเพิ่มขึ้นทุกวัน User-contributed packages มีเป้าหมายเพื่อลดความซับซ้อนของคำสั่งจำนวนมากที่จำเป็นในการทำงานเฉพาะใน R

วิธีติดตั้ง R Packages

เมื่อเราเลือกที่จะใช้ function หรือ dataset จาก user-contributed package ใน R เราต้องทำตามสองขั้นตอนพื้นฐาน:

1. ติดตั้ง R packages โดยรันฟังก์ชัน install.packages()

หากคุณดาวน์โหลด package ด้วยตนเองจากอินเทอร์เน็ต คุณสามารถติดตั้งโดยตรงจากไฟล์ .zip หรือ .tar ที่เกี่ยวข้อง

มาติดตั้ง MySQL package สำหรับ R ด้วยวิธีนี้โดยใช้คำสั่ง:

install.packages("RMySQL")

R มีแนวโน้มที่จะแสดงข้อความผลลัพธ์ต่อไปนี้ใน terminal ของคุณ:

# - Please select a CRAN mirror for use in this session -

ข้อความนี้หมายความว่า R ไม่พบ RMySQL package ใน repository และเราต้องติดตั้ง mirror ก่อน

หากคุณดาวน์โหลด package ด้วยตนเองจากอินเทอร์เน็ต คุณสามารถติดตั้งโดยตรงจากไฟล์ .zip หรือ .tar ที่เกี่ยวข้องโดยใส่ path ไปยังตำแหน่งไฟล์บนคอมพิวเตอร์ของคุณระหว่าง "" ในคำสั่งด้านบน

2. ติดตั้ง R packages โดยใช้ CRAN mirrors

ตัวอย่างเช่น เมื่อติดตั้ง R RMySQL package คุณจะถูกขอให้เลือก CRAN mirror ที่จะดาวน์โหลด package

คุณอาจได้รับหน้าต่างรายการ repository หรือ text menu พร้อมตัวเลือกบางอย่าง แต่ถ้าไม่ปรากฏ คุณยังสามารถเลือก mirror ที่จะนำเข้า packages โดยใช้ parameter repos= และหลังจากทำเช่นนั้น R จะไม่รบกวนคุณให้เลือก CRAN mirror อีก

นี่คือตัวอย่างการใช้ US mirror เพื่อรับ RMySQL package ในระบบ R ของผม:

install.packages('RMySQL', repos='http://cran.us.r-project.org')

และผลลัพธ์คำสั่ง:

R console แสดงผลลัพธ์การติดตั้ง RMySQL package พร้อมความคืบหน้าการดาวน์โหลด. ที่มา: uedufy.com

ติดตั้ง RMySQL package จาก CRAN mirror

ที่นี่ คุณสามารถหารายการ R mirrors ที่มีอยู่ทั้งหมด ในสถานที่ทางภูมิศาสตร์ต่างๆ คุณควรเลือก CRAN mirror ที่ใกล้ที่สุดกับตำแหน่งของคุณ โดยเฉพาะถ้าคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ช้า

สุดท้าย สิ่งสำคัญที่ต้องจำคือ package ที่ขึ้นอยู่กับอีก package ไม่สามารถถูก detach ออกจากระบบได้

วิธีติดตั้ง R Packages จาก Source

การติดตั้ง R packages จาก source code ช่วยให้คุณเข้าถึง development versions ล่าสุดและอนุญาตให้คุณติดตั้ง packages ที่ไม่มีใน CRAN วิธีนี้มีประโยชน์เป็นพิเศษเมื่อคุณต้องการ features หรือ bug fixes เฉพาะที่ยังไม่ได้ release

ในการติดตั้ง R package จาก source ให้ดาวน์โหลดไฟล์ source ของ package (โดยปกติคือไฟล์ .tar.gz) จาก CRAN หรือ package repository จากนั้นใช้คำสั่งต่อไปนี้:

install.packages("/path/to/package_version.tar.gz", repos = NULL, type = "source")

ตัวอย่างเช่น หากคุณดาวน์โหลด dplyr source package:

install.packages("~/Downloads/dplyr_1.0.7.tar.gz", repos = NULL, type = "source")

Parameter repos = NULL บอก R ว่าคุณกำลังติดตั้งจากไฟล์ในเครื่อง ไม่ใช่จาก repository Parameter type = "source" ระบุว่านี่คือการติดตั้งจาก source

R Packages ติดตั้งอยู่ที่ไหน? (Windows, Mac, Linux)

ขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้ (Windows, macOS, Linux/UNIX) หรือสิทธิ์ผู้ใช้ของคุณ ตำแหน่งของ R packages ที่ติดตั้งอาจแตกต่างกัน รวมถึงการเข้าถึงโฟลเดอร์ติดตั้ง R package

เพื่อหาเส้นทางที่ R เก็บ packages ให้พิมพ์คำสั่งต่อไปนี้ใน R:

.libPaths()

โดยทั่วไป บนเครื่อง Windows R packages จะอยู่ในโฟลเดอร์ "C:\Program Files\R"

บนเครื่อง macOS R packages มักจะติดตั้งในโฟลเดอร์ "/Library/Frameworks/R.framework/Resources/library"

R console แสดงผลลัพธ์ .libPaths() แสดงไดเรกทอรีติดตั้ง package. ที่มา: uedufy.com

ตรวจสอบเส้นทางติดตั้ง R package โดยใช้ .libPaths()

หากคุณต้องการตำแหน่งที่กำหนดเองสำหรับติดตั้ง R packages คุณจะต้องกำหนดใน .Rprofile ตัวอย่างเช่น บนคอมพิวเตอร์ Mac เราสามารถสั่งให้ R ติดตั้ง R packages ที่ตำแหน่งที่กำหนดเองโดยใช้:

.libPaths( "/Users/tex/lib/R" )

ไฟล์ .Rprofile บน Windows มักจะอยู่ในโฟลเดอร์ C:\Program Files\R\R-...\etc แต่คุณสามารถระบุตำแหน่งที่กำหนดเองระหว่าง R installation wizard

R จะจำเส้นทางใหม่และติดตั้ง packages ที่ตำแหน่งนี้ตั้งแต่นี้เป็นต้นไป

วิธีติดตั้ง R Packages โดยใช้ RScript

RScript ช่วยให้คุณติดตั้ง R packages โดยตรงจาก command line โดยไม่ต้องเปิด R console วิธีนี้มีประโยชน์เป็นพิเศษสำหรับ automation, scripting และ server environments

ในการติดตั้ง R package โดยใช้ RScript จาก terminal ของคุณ ให้ใช้คำสั่งต่อไปนี้:

Rscript -e "install.packages('packagename', repos='http://cran.us.r-project.org')"

ตัวอย่างเช่น เพื่อติดตั้ง ggplot2 package โดยใช้ RScript:

Rscript -e "install.packages('ggplot2', repos='http://cran.us.r-project.org')"

Flag -e บอก RScript ให้รัน R code ที่ให้ไว้ในเครื่องหมายคำพูด Parameter repos ระบุ CRAN mirror ที่จะใช้ ป้องกันการแจ้งเตือนให้เลือก mirror แบบ interactive

ติดตั้งหลาย Packages ด้วย RScript

คุณสามารถติดตั้งหลาย R packages ในคำสั่ง RScript เดียวโดยใช้ฟังก์ชัน c():

Rscript -e "install.packages(c('dplyr', 'tidyr', 'ggplot2'), repos='http://cran.us.r-project.org')"

วิธีติดตั้ง R Packages จาก GitHub

R packages บางตัวที่พัฒนาโดยชุมชน R อยู่บน GitHub ในการติดตั้ง R packages จาก GitHub เราต้องติดตั้ง devtools package ใน R ก่อน โดยพิมพ์คำสั่งต่อไปนี้ใน R console:

install.packages("devtools")

R console แสดงการติดตั้ง devtools package พร้อม dependencies. ที่มา: uedufy.com

ติดตั้ง devtools package เพื่อเปิดใช้งานการติดตั้งจาก GitHub

devtools package และ dependencies หลายตัวถูกติดตั้งในระบบของคุณแล้ว อย่างไรก็ตาม devtools ยังไม่ได้โหลดในหน่วยความจำ R ดังนั้นเราต้องสั่งให้ R ทำโดยใช้คำสั่งต่อไปนี้:

library(devtools)

ในการติดตั้ง R packages จาก GitHub ให้ไปที่ GitHub และจดชื่อผู้เขียน package และชื่อ package

ในตัวอย่างนี้ ผมจะติดตั้ง palmerpenguins package ของ Allison Horst โดยใช้ฟังก์ชัน install_github

install_github("allisonhorst/palmerpenguins")

RStudio console แสดงคำสั่ง install_github สำหรับ palmerpenguins package. ที่มา: uedufy.com

ติดตั้ง palmerpenguins package จาก GitHub

ดังที่คุณเห็น palmerpenguins ตอนนี้อยู่ในรายการในแท็บ Packages ใน R

RStudio Packages pane แสดง palmerpenguins package ในรายการ. ที่มา: uedufy.com

Palmerpenguins package แสดงในแท็บ RStudio Packages

และดังที่กล่าวก่อนหน้านี้ palmerpenguins package ไม่ได้โหลดในหน่วยความจำจนกว่าเราจะเรียกฟังก์ชัน library:

library(palmerpenguins)

วิธี Uninstall R Packages

เราเห็นว่าการติดตั้ง R packages ค่อนข้างง่าย แล้วการถอนการติดตั้งล่ะ? ก็ง่ายเช่นกัน คำสั่งในการถอนการติดตั้ง R packages คือ remove.packages() ชื่อ package ต้องอยู่ระหว่าง "" ดังแสดงในตัวอย่างต่อไปนี้

ก่อนหน้านี้ เราติดตั้ง palmerpenguins package จาก GitHub โดยใช้คำสั่งด้านล่าง เราสามารถลบ package นี้ออกจาก R:

remove.packages("palmerpenguins")

และผลลัพธ์:

R console แสดงผลลัพธ์คำสั่ง remove.packages() สำหรับ palmerpenguins. ที่มา: uedufy.com

ลบ palmerpenguins package โดยใช้ remove.packages()

Package Masking ใน R คืออะไร? (วิธีแก้ไข Function Conflicts)

User-contributed R packages บางตัวอาจมี functions ที่มีชื่อเดียวกันกับ functions ใน package อื่น ข้อความเตือนจะปรากฏใน R terminal เมื่อสถานการณ์นี้เกิดขึ้น สถานการณ์นี้เรียกว่า masking

Function ใน package เดียวกันไม่สามารถมีสองชื่อได้ และคุณไม่สามารถสร้างสองไฟล์ที่มีชื่อเดียวกันในไดเรกทอรีบนเครื่องของคุณได้ อย่างไรก็ตาม functions ใน packages ต่างกันสามารถมีชื่อเดียวกันและทำสิ่งที่แตกต่างกันโดยสิ้นเชิง

หากคุณต้องการใช้ function ที่ถูก mask โดย function ที่โหลดล่าสุด คุณมีตัวเลือกต่อไปนี้:

  • Detach package ที่คุณไม่ได้ใช้โดยใช้ฟังก์ชัน detach หรือ
  • ให้ package ที่คุณต้องการใช้มีความสำคัญสูงกว่าโดยโหลดก่อน packages อื่นในโปรเจกต์ของคุณ

ในการตรวจสอบว่า package ใดมีความสำคัญสูงสุด ให้ตรวจสอบ search path:

search()

Package ที่มีหมายเลขตำแหน่งเล็กกว่าและใกล้กับ GlobalEnv มีความสำคัญสูงสุด

โดยสรุป user-contributed packages ควรใช้เฉพาะเมื่อคุณต้องการเท่านั้น หากคุณวางแผนที่จะไม่ใช้ package ที่โหลดในหน่วยความจำ แนวปฏิบัติที่ดีคือ detach มันเพื่อหลีกเลี่ยง function conflicts เพิ่มเติม

จำไว้ว่าเมื่อคุณออกจาก R packages ทั้งหมดที่โหลดในหน่วยความจำจะถูก detach โดยอัตโนมัติ เมื่อเริ่ม session ใหม่ R จะโหลดเฉพาะ base packages

แก้ไขข้อผิดพลาดการติดตั้ง R Package (CRAN Mirror, Dependencies, Permissions)

การติดตั้ง R packages บางครั้งอาจล้มเหลวเนื่องจากเหตุผลต่างๆ นี่คือข้อผิดพลาดที่พบบ่อยที่สุดและวิธีแก้ไข:

Error: "Please select a CRAN mirror for use in this session"

ข้อผิดพลาดนี้เกิดขึ้นเมื่อ R ไม่รู้ว่าจะใช้ CRAN mirror ใดสำหรับดาวน์โหลด packages

วิธีแก้ไข: ระบุ CRAN mirror โดยตรงในคำสั่งติดตั้งของคุณ:

install.packages("packagename", repos="http://cran.us.r-project.org")

หรือตั้ง default CRAN mirror สำหรับ session ของคุณ:

options(repos = c(CRAN = "http://cran.us.r-project.org"))
install.packages("packagename")

Error: "Package dependencies not available"

สิ่งนี้เกิดขึ้นเมื่อ package ต้องการ packages อื่นที่ไม่ได้ติดตั้งในระบบของคุณ

วิธีแก้ไข: ติดตั้งพร้อม dependencies enabled (โดยปกติจะเป็นค่าเริ่มต้น):

install.packages("packagename", dependencies = TRUE)

Error: "Permission denied" หรือ "Cannot install to library"

สิ่งนี้เกิดขึ้นเมื่อคุณไม่มีสิทธิ์เขียนไปยังไดเรกทอรี R library

วิธีแก้ไข: ติดตั้งไปยัง user library ของคุณแทน:

install.packages("packagename", lib = Sys.getenv("R_LIBS_USER"))

คำถามที่พบบ่อย

ในการติดตั้ง R packages จาก Command Line ให้ใช้ฟังก์ชัน install.packages() ใน R เปิด R หรือ RStudio terminal และพิมพ์: install.packages('packagename') แทนที่ 'packagename' ด้วยชื่อแพ็คเกจจริงในเครื่องหมายคำพูด R จะดาวน์โหลดแพ็คเกจจาก CRAN และติดตั้งโดยอัตโนมัติ ตัวอย่างเช่น install.packages('ggplot2') ติดตั้งแพ็คเกจ ggplot2 คุณยังสามารถติดตั้งหลายแพ็คเกจพร้อมกันได้: install.packages(c('dplyr', 'tidyr', 'ggplot2'))
install.packages() ดาวน์โหลดและติดตั้งแพ็คเกจลงในคอมพิวเตอร์ของคุณ (คุณต้องทำเพียงครั้งเดียว) ในขณะที่ library() โหลดแพ็คเกจที่ติดตั้งแล้วเข้าสู่เซสชัน R ปัจจุบันของคุณเพื่อให้คุณสามารถใช้ฟังก์ชันได้ (คุณต้องทำทุกครั้งที่เริ่ม R) คิดว่า install.packages() เป็นการซื้อหนังสือและวางบนชั้น และ library() เป็นการหยิบหนังสือออกจากชั้นเพื่ออ่าน ตัวอย่างเช่น: install.packages('dplyr') (ติดตั้งครั้งเดียว) จากนั้น library(dplyr) (โหลดทุกเซสชัน)
ในการติดตั้ง R packages จาก GitHub ขั้นแรกติดตั้งแพ็คเกจ devtools: install.packages('devtools') จากนั้นใช้ devtools::install_github('username/repository') เพื่อติดตั้งแพ็คเกจโดยตรงจาก GitHub ตัวอย่างเช่น: devtools::install_github('tidyverse/ggplot2') ติดตั้งเวอร์ชันการพัฒนาของ ggplot2 จาก GitHub สิ่งนี้มีประโยชน์สำหรับการรับฟีเจอร์ล่าสุดหรือการแก้ไขบั๊กที่ยังไม่ได้เผยแพร่ไปยัง CRAN หรือสำหรับการติดตั้งแพ็คเกจที่มีเฉพาะบน GitHub
R packages ถูกติดตั้งในไดเรกทอรีไลบรารีที่แตกต่างกันตามระบบปฏิบัติการ บน Windows โดยทั่วไปอยู่ใน C:/Users/YourName/Documents/R/win-library/version บน macOS อยู่ใน ~/Library/R/version/library บน Linux อยู่ใน ~/R/x86_64-pc-linux-gnu-library/version คุณสามารถค้นหาเส้นทางไลบรารีที่แน่นอนของคุณโดยรัน .libPaths() ใน R console เส้นทางแรกที่แสดงมักเป็นไลบรารีส่วนตัวของคุณที่แพ็คเกจที่ติดตั้งโดยผู้ใช้จะไป แพ็คเกจระบบอยู่ในไดเรกทอรีแยกต่างหาก
CRAN mirrors เป็นเซิร์ฟเวอร์ทั่วโลกที่โฮสต์ R packages ในการเลือก mirror ใช้ chooseCRANmirror() ซึ่งเปิดรายการ mirrors ที่มีอยู่ เลือกรายการที่อยู่ใกล้กับคุณทางภูมิศาสตร์เพื่อการดาวน์โหลดที่เร็วขึ้น อีกทางหนึ่ง ตั้งค่า mirror โดยตรง: options(repos = c(CRAN = 'https://cloud.r-project.org/')) RStudio Cloud mirror (cloud.r-project.org) แนะนำเนื่องจากเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์ใกล้เคียงโดยอัตโนมัติ คุณต้องตั้งค่านี้เพียงครั้งเดียวต่อเซสชัน R
Package masking เกิดขึ้นเมื่อสองแพ็คเกจที่โหลดมีฟังก์ชันที่มีชื่อเดียวกัน เมื่อคุณโหลดแพ็คเกจที่มีชื่อฟังก์ชันตรงกับแพ็คเกจที่โหลดก่อนหน้า แพ็คเกจใหม่จะ 'mask' แพ็คเกจเก่า R จะเตือนคุณเกี่ยวกับเรื่องนี้ด้วยข้อความเช่น 'The following object is masked from package:...' ในการใช้ฟังก์ชันที่ถูก masked ให้ระบุแพ็คเกจอย่างชัดเจน: package::function() ตัวอย่างเช่น หากทั้ง dplyr และ stats มีฟังก์ชัน filter() ใช้ dplyr::filter() หรือ stats::filter() เพื่อให้ชัดเจน
ในการอัปเดต R packages ใช้ update.packages() ซึ่งตรวจสอบเวอร์ชันใหม่กว่าของแพ็คเกจที่ติดตั้งทั้งหมดและเสนอให้อัปเดต คุณสามารถอัปเดตแพ็คเกจเฉพาะด้วย install.packages('packagename') ซึ่งจะติดตั้งเวอร์ชันล่าสุด ใน RStudio ไปที่ Tools > Check for Package Updates สำหรับอินเทอร์เฟซ GUI ใช้ old.packages() เพื่อดูว่าแพ็คเกจใดมีอัปเดตที่มีอยู่โดยไม่ต้องอัปเดตจริง การอัปเดตเป็นประจำมีความสำคัญสำหรับการแก้ไขบั๊กและฟีเจอร์ใหม่
การติดตั้งจาก source หมายถึงการคอมไพล์โค้ดแพ็คเกจสำหรับระบบเฉพาะของคุณ ใช้ install.packages('packagename', type = 'source') บน Windows คุณต้องติดตั้ง Rtools ก่อน บน macOS คุณต้องใช้ Xcode Command Line Tools (ติดตั้งด้วย xcode-select --install) บน Linux คุณต้องใช้ build-essential และ gfortran (ติดตั้งด้วย sudo apt-get install build-essential gfortran) การติดตั้งจาก source มีประโยชน์เมื่อเวอร์ชันไบนารีไม่มีหรือเมื่อคุณต้องการเวอร์ชันล่าสุดที่มีการแก้ไขบั๊กล่าสุด

สรุป

แม้ว่าจะมีสถานการณ์อีกมากที่ต้องครอบคลุม แต่ตอนนี้คุณควรมั่นใจพอสมควรกับวิธีติดตั้ง R packages จากแหล่งต่างๆ และจัดการ R packages ในระบบของคุณ

สรุปคำสั่งหลัก:

การดำเนินการคำสั่ง
ติดตั้งจาก CRANinstall.packages("package")
โหลดเข้าหน่วยความจำlibrary(package)
ยกเลิกโหลดจากหน่วยความจำdetach(package:package)
ติดตั้งจาก GitHubdevtools::install_github("author/package")
ถอนการติดตั้งremove.packages("package")
ตรวจสอบเส้นทาง.libPaths()
อัปเดตupdate.packages()

ขั้นตอนต่อไป:

หากบางอย่างไม่เป็นไปตามแผน คุณสามารถอ้างอิงถึงคู่มือ R ที่มีอยู่โดยรันคำสั่ง help.start() ใน R console