รายการ R: วิธีสร้างรายการในการเขียนโปรแกรม R & เลือกองค์ประกอบ

R List คืออะไร?

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

ไวยากรณ์ของรายการใน R

เราสามารถใช้ฟังก์ชัน list() เพื่อสร้างรายการในการเขียนโปรแกรม R:

list(element_1, ...)
arguments:
-element_1: store any type of R object
-...: pass as many objects as specifying. each object needs to be separated by a comma

วิธีสร้างรายการใน R

ด้านล่างนี้เป็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีสร้างรายการใน R:

ในตัวอย่างด้านล่าง เราจะสร้างวัตถุที่แตกต่างกันสามชิ้น ได้แก่ เวกเตอร์ เมทริกซ์ และ a กรอบข้อมูล การใช้ฟังก์ชันรายการใน R

ขั้นตอนที่ 1) สร้างเวกเตอร์

ใช้โค้ดด้านล่างเพื่อสร้างเวกเตอร์ใน R

# Vector with numeric from 1 up to 5
vect  <- 1:5

ขั้นตอนที่ 2) สร้างเมทริกซ์

ตอนนี้ให้สร้างเมทริกซ์โดยใช้โค้ดต่อไปนี้

# A 2x 5 matrix
mat  <- matrix(1:9, ncol = 5)
dim(mat)

Output:

## [1] 2 5

ขั้นตอนที่ 3) สร้างกรอบข้อมูล

สร้าง data frame ใน R โดยใช้โค้ดด้านล่าง

# select the 10th row of the built-in R data set EuStockMarkets
df <- EuStockMarkets[1:10,]

ขั้นตอนที่ 4) สร้างรายการใน R

ตอนนี้เราสามารถใส่วัตถุทั้งสามรายการลงในรายการ R โดยใช้โค้ดด้านล่าง

# Construct list with these vec, mat, and df:
my_list <- list(vect, mat, df)
my_list

Output:

## [[1]]
## [1] 1 2 3 4 5

## [[2]]
##       [,1] [,2] [,3] [,4] [,5]
## [1,]    1    3    5    7    9
## [2,]    2    4    6    8    1

## [[3]]
##          DAX    SMI    CAC   FTSE
##  [1,] 1628.75 1678.1 1772.8 2443.6
##  [2,] 1613.63 1688.5 1750.5 2460.2
##  [3,] 1606.51 1678.6 1718.0 2448.2
##  [4,] 1621.04 1684.1 1708.1 2470.4
##  [5,] 1618.16 1686.6 1723.1 2484.7
##  [6,] 1610.61 1671.6 1714.3 2466.8
##  [7,] 1630.75 1682.9 1734.5 2487.9
##  [8,] 1640.17 1703.6 1757.4 2508.4
##  [9,] 1635.47 1697.5 1754.0 2510.5
##  [10,] 1645.89 1716.3 1754.3 2497.4

เลือกองค์ประกอบจากรายการ R

หลังจากที่เราสร้างรายการแล้ว เราสามารถเข้าถึงรายการได้ค่อนข้างง่าย เราจำเป็นต้องใช้ [[index]] เพื่อเลือกองค์ประกอบในรายการ ค่าภายในวงเล็บเหลี่ยมคู่แสดงตำแหน่งของรายการในรายการที่เราต้องการแยกออกมา ตัวอย่างเช่น เราส่ง 2 เข้าไปในวงเล็บ R ส่งคืนองค์ประกอบที่สองในรายการ

ตอนนี้อยู่ในนี้ กวดวิชา Rลองเลือกรายการที่สองของรายการใน R ชื่อ my_list เราใช้ my_list[[2]]

# Print second element of the list
my_list[[2]]

Output:

##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    3    5    7    9
## [2,]    2    4    6    8    1

Data Frame ในตัวใน R

ก่อนที่จะสร้าง data frame ของเราเอง เราสามารถดูชุดข้อมูล R ที่มีอยู่ทางออนไลน์ได้ ชุดข้อมูลเรือนจำมีขนาด 714×5 มิติ เราสามารถดูที่ด้านล่างของกรอบข้อมูลได้อย่างรวดเร็วด้วยฟังก์ชัน tail() โดยการเปรียบเทียบ head() จะแสดงด้านบนของกรอบข้อมูล คุณสามารถระบุจำนวนแถวที่แสดงด้วยส่วนหัว (df, 5) เราจะเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชัน read.csv() ในบทช่วยสอนครั้งต่อไป

PATH <-'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/prison.csv'
df <- read.csv(PATH)[1:5]
head(df, 5)

Output:

##   X state year govelec black
## 1 1     1   80       0 0.2560
## 2 2     1   81       0 0.2557
## 3 3     1   82       1 0.2554
## 4 4     1   83       0 0.2551
## 5 5     1   84       0 0.2548

เราสามารถตรวจสอบโครงสร้างของ data frame ด้วย str:

# Structure of the data
str(df)

Output:

## 'data.frame':    714 obs. of  5 variables:
##  $ X      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ state  : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ year   : int  80 81 82 83 84 85 86 87 88 89 ...
##  $ govelec: int  0 0 1 0 0 0 1 0 0 0 ...
##  $ black  : num  0.256 0.256 0.255 0.255 0.255 ...

ตัวแปรทั้งหมดจะถูกเก็บไว้ใน เชิงตัวเลข จัดรูปแบบ

สรุป

  • R List เป็นอ็อบเจ็กต์ในการเขียนโปรแกรม R ซึ่งรวมถึงเมทริกซ์ เวกเตอร์ กรอบข้อมูล หรือรายการที่อยู่ภายใน
  • ฟังก์ชัน list() ใช้เพื่อสร้างรายการต่างๆ การเขียนโปรแกรม R.
  • เราสามารถใช้ฟังก์ชัน [[index]] เพื่อเลือกองค์ประกอบในรายการ ค่าภายในวงเล็บเหลี่ยมคู่แสดงตำแหน่งของรายการในรายการที่เราต้องการแยกออกมา
  • เราสามารถดูที่ด้านล่างของกรอบข้อมูลได้อย่างรวดเร็วด้วยฟังก์ชัน tail()