วิธีเลือก n แถวแรกของ data frame ใน r (3 ตัวอย่าง)


คุณสามารถใช้วิธีใดๆ ต่อไปนี้เพื่อเลือก N แถวแรกของกรอบข้อมูลใน R:

วิธีที่ 1: ใช้ head() จาก Base R

 head(df, 3)

วิธีที่ 2: ใช้การสร้างดัชนีจาก Base R

 df[1:3, ]

วิธีที่ 3: ใช้ Slice() จาก dplyr

 library (dplyr)

df %>% slice(1:3)

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

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G'),
                 points=c(99, 90, 86, 88, 95, 99, 91),
                 assists=c(33, 28, 31, 39, 34, 35, 40))

#view data frame
df

  team points assists
1 A 99 33
2 B 90 28
3 C 86 31
4 D 88 39
5 E 95 34
6 F 99 35
7 G 91 40

ตัวอย่างที่ 1: การใช้ head() จาก Base R

วิธีหนึ่งในการเลือก N แถวแรกของบล็อกข้อมูลคือการใช้ฟังก์ชัน head() ของฐานข้อมูล R:

 #select first 3 rows of data frame
head(df, 3)

team points assists
1 A 99 33
2 B 90 28
3 C 86 31

หากคุณใช้ฟังก์ชัน head() โดยไม่มีอาร์กิวเมนต์ตัวเลข R จะเลือก 6 บรรทัดแรกของกรอบข้อมูลโดยอัตโนมัติ:

 #select first 6 rows of data frame
head(df)

team points assists
1 A 99 33
2 B 90 28
3 C 86 31
4 D 88 39
5 E 95 34
6 F 99 35

ตัวอย่างที่ 2: ใช้การสร้างดัชนีจาก Base R

อีกวิธีหนึ่งในการเลือก N แถวแรกของบล็อกข้อมูลคือการใช้ไวยากรณ์การจัดทำดัชนีแบบ R:

 #select first 3 rows of data frame
df[1:3, ]

team points assists
1 A 99 33
2 B 90 28
3 C 86 31

คุณยังสามารถใช้ไวยากรณ์นี้เพื่อเลือกเฉพาะ N แถวแรกของคอลัมน์ที่ต้องการได้:

 #select first 3 rows of 'team' and 'points' columns only
df[1:3, c(' team ', ' points ')]

team points
1 to 99
2 B 90
3 C 86

ตัวอย่างที่ 3: ใช้ Slice() จาก dplyr

อีกวิธีหนึ่งในการเลือก N แถวแรกของกรอบข้อมูลคือการใช้ฟังก์ชัน Slice() จากแพ็คเกจ dplyr :

 library (dplyr)

#select first 3 rows of data frame
df %>% slice(1:3)

team points assists
1 A 99 33
2 B 90 28
3 C 86 31

ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน Slice() ใน dplyr (พร้อมตัวอย่าง)

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

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

วิธีเพิ่มแถวใน data frame ใน R
วิธีลบบรรทัดที่ซ้ำกันใน R
วิธีรวมแถวเฉพาะใน R

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

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