วิธีตรวจสอบว่ามีการติดตั้งแพ็คเกจใน r หรือไม่ (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่ามีการติดตั้งแพ็คเกจใน R หรือไม่:

วิธีที่ 1: ตรวจสอบว่ามีการติดตั้งแพ็คเกจเฉพาะหรือไม่

 #check if ggplot2 is installed
system. file (package=' ggplot2 ')

วิธีที่ 2: ติดตั้งแพ็คเกจทั้งหมดในเวกเตอร์ที่ยังไม่ได้ติดตั้ง

 install. packages (setdiff(packages, rownames(installed. packages ())))

ในตัวอย่างนี้ แพ็คเกจ แสดงถึงเวกเตอร์ของชื่อแพ็คเกจที่คุณต้องการติดตั้ง

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ

ตัวอย่างที่ 1: ตรวจสอบว่ามีการติดตั้งแพ็คเกจเฉพาะหรือไม่

เราสามารถใช้ฟังก์ชัน system.file() เพื่อตรวจสอบว่ามีการติดตั้งแพ็คเกจเฉพาะในสภาพแวดล้อม R ปัจจุบันหรือไม่

ตัวอย่างเช่น เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่ามีการติดตั้งแพ็คเกจ ggplot2 ในสภาพแวดล้อม R ปัจจุบันหรือไม่:

 #check if ggplot2 is installed
system. file (package=' ggplot2 ')

[1] "C:/Users/bob/Documents/R/win-library/4.0/ggplot2"

เนื่องจากติดตั้ง ggplot2 แล้ว ฟังก์ชันจึงส่งคืนพาธของไฟล์ที่ติดตั้งแพ็กเกจไว้

ตอนนี้สมมติว่าเราตรวจสอบว่ามีการติดตั้งแพ็คเกจชื่อ this_package หรือไม่:

 #check if this_package is installed
system. file (package=' this_package ')

[1] ""

ฟังก์ชันส่งคืนสตริงว่าง ซึ่งบอกเราว่าแพ็กเกจชื่อ this_package (ซึ่งไม่มีอยู่ด้วยซ้ำ) ไม่ได้รับการติดตั้งในสภาพแวดล้อมปัจจุบันของเรา

วิธีที่ 2: ติดตั้งแพ็คเกจทั้งหมดในเวกเตอร์ที่ยังไม่ได้ติดตั้ง

สมมติว่าเราต้องการตรวจสอบว่ามีการติดตั้งแพ็คเกจสามแพ็คเกจต่อไปนี้ในสภาพแวดล้อมปัจจุบันของเราหรือไม่ และติดตั้งโดยอัตโนมัติหากไม่ใช่:

  • ggplot2
  • ดีพลีร์
  • โครงสร้างบังตาที่เป็นช่อง

รหัสต่อไปนี้แสดงวิธีการทำเช่นนี้:

 #define packages to install
packages <- c(' ggplot2 ', ' dplyr ', ' lattice ')

#install all packages that are not already installed
install. packages (setdiff(packages, rownames(installed. packages ())))

หากยังไม่ได้ติดตั้งแพ็คเกจใด ๆ ที่เราระบุ ฟังก์ชัน install.packages() จะติดตั้งโดยอัตโนมัติ

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีโหลดหลายแพ็คเกจใน R
วิธีล้างสภาพแวดล้อมใน R
วิธีล้างแปลงทั้งหมดใน RStudio

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *