วิธีใช้ฟังก์ชัน 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