วิธีใช้ฟังก์ชัน melt() ใน r


คุณสามารถใช้ฟังก์ชัน Melt() ของแพ็กเกจ reshape2 ใน R เพื่อแปลงเฟรมข้อมูลจากรูปแบบกว้างเป็นรูปแบบยาว

รูปแบบ กว้าง ประกอบด้วยค่าที่ ไม่ ซ้ำในคอลัมน์แรก

รูปแบบ ยาว ประกอบด้วยค่าที่ ซ้ำกัน ในคอลัมน์แรก

ตัวอย่างเช่น พิจารณาชุดข้อมูลสองชุดต่อไปนี้ซึ่งมีข้อมูลเดียวกันทุกประการซึ่งแสดงในรูปแบบที่แตกต่างกัน:

รูปแบบข้อมูลกว้างหรือยาว

ฟังก์ชัน Melt() ใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อแปลงกรอบข้อมูลรูปแบบกว้างเป็นรูปแบบยาว:

 melt(df, id=' team ')

อาร์กิวเมนต์ id ระบุว่าตัวแปรใดที่จะใช้เป็นคอลัมน์แรกของกรอบข้อมูลซึ่งค่าจะถูกทำซ้ำ

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

ตัวอย่าง: วิธีใช้ Melt() ใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ซึ่งขณะนี้อยู่ในรูปแบบกว้าง:

 #create data frame in wide format
df <- data. frame (team=c('A', 'B', 'C', 'D'),
                 dots=c(88, 91, 99, 94),
                 assists=c(12, 17, 24, 28),
                 rebounds=c(22, 28, 30, 31))

#view data frame
df

  team points assists rebounds
1 A 88 12 22
2 B 91 17 28
3 C 99 24 30
4 D 94 28 31

เราสามารถใช้ฟังก์ชัน Melt() เพื่อแปลง data frame เป็นรูปแบบยาวได้อย่างรวดเร็ว:

 library (reshape2)

#use melt() to convert data frame from wide to long format
long_df <- melt(df, id=' team ')

#view long data frame
long_df

   team variable value
1 A points 88
2 B points 91
3 C points 99
4 D points 94
5 A assists 12
6 B assists 17
7 C assists 24
8 D assists 28
9 A rebounds 22
10 B rebounds 28
11 C rebounds 30
12 D rebounds 31

โปรดทราบว่าขณะนี้กรอบข้อมูลอยู่ในรูปแบบยาว

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

คุณสามารถเปลี่ยนชื่อคอลัมน์ของกรอบข้อมูลผลลัพธ์ได้โดยใช้ฟังก์ชัน ชื่อ () :

 #rename columns in long_df
names(long_df) <- c(' team ', ' metric ', ' amount ')

#view updated data frame
long_df

   team metric amount
1 A points 88
2 B points 91
3 C points 99
4 D points 94
5 A assists 12
6 B assists 17
7 C assists 24
8 D assists 28
9 A rebounds 22
10 B rebounds 28
11 C rebounds 30
12 D rebounds 31

โปรดทราบว่ามีการเปลี่ยนชื่อคอลัมน์แล้ว

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

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

วิธีกรองแถวใน R
วิธีแปลง dataframe เป็น R
วิธีเปลี่ยนชื่อคอลัมน์กรอบข้อมูลใน R

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

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