วิธีใช้ฟังก์ชัน spread ใน r (พร้อมตัวอย่าง)


ฟังก์ชัน Spread() ในแพ็คเกจ Tidyr สามารถใช้เพื่อ “กระจาย” คู่คีย์-ค่าไปยังหลายคอลัมน์ได้

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

สเปรด (ข้อมูล, ค่าคีย์)

ทอง:

  • data : ชื่อของกรอบข้อมูล
  • key : คอลัมน์ที่มีค่าจะกลายเป็นชื่อตัวแปร
  • value : คอลัมน์ที่จะเติมค่าภายใต้ตัวแปรใหม่ที่สร้างจากคีย์

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

ตัวอย่างที่ 1: กระจายค่าออกเป็นสองคอลัมน์

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data. frame (player= rep (c(' A ', ' B '), each= 4 ),
                 year= rep (c(1, 1, 2, 2), times= 2 ),
                 stat= rep (c(' points ', ' assists '), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

เราสามารถใช้ฟังก์ชัน Spread() เพื่อแปลงค่าคอลัมน์ สถิติ ให้เป็นคอลัมน์ของตัวเองได้:

 library (tidyr)

#spread stat column across multiple columns
spread(df, key=stat, value=amount)

  player year assists points
1 to 1 6 14
2 to 2 7 18
3 B 1 9 22
4 B 2 4 38

ตัวอย่างที่ 2: กระจายค่ามากกว่าสองคอลัมน์

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df2 <- data. frame (player= rep (c(' A '), times= 8 ),
                 year= rep (c(1, 2), each= 4 ),
                 stat= rep (c(' points ', ' assists ', ' steals ', ' blocks '), times= 2 ),
                 amount=c(14, 6, 2, 1, 29, 9, 3, 4))

#view data frame
df2

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 1 steals 2
4 A 1 blocks 1
5 A 2 points 29
6 A 2 assists 9
7 A 2 steals 3
8 A 2 blocks 4

เราสามารถใช้ฟังก์ชัน Spread() เพื่อแปลงค่าที่ไม่ซ้ำกันสี่ค่าในคอลัมน์ สถิติ ให้เป็นสี่คอลัมน์ใหม่:

 library (tidyr)

#spread stat column across multiple columns
spread(df2, key=stat, value=amount)

  player year assists blocks points steals
1 A 1 6 1 14 2
2 A 2 9 4 29 3

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

เป้าหมายของแพ็คเกจ Tidyr คือการสร้างข้อมูลที่ “เป็นระเบียบเรียบร้อย” ซึ่งมีลักษณะดังต่อไปนี้:

  • แต่ละคอลัมน์เป็นตัวแปร
  • แต่ละบรรทัดคือการสังเกต
  • แต่ละเซลล์มีค่าไม่ซ้ำกัน

แพ็คเกจ Tidyr ใช้ฟังก์ชันหลัก 4 ประการในการสร้างข้อมูลที่เรียงลำดับ:

1. ฟังก์ชัน สเปรด()

2. ฟังก์ชัน รวบรวม()

3. ฟังก์ชัน แยก ()

4. ฟังก์ชัน หน่วย ()

หากคุณเชี่ยวชาญในสี่ฟังก์ชันนี้ คุณจะสามารถสร้างข้อมูลที่ “เป็นระเบียบเรียบร้อย” จากกรอบข้อมูลใดก็ได้

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

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