วิธีการย้าย data frame ใน r (พร้อมตัวอย่าง)
มีสองวิธีทั่วไปที่คุณสามารถใช้เพื่อย้าย data frame ใน R:
วิธีที่ 1: ใช้ Base R
#transpose data frame
t(df)
วิธีที่ 2: ใช้ data.table
library (data.table)
#transpose data frame
df_t <- transpose(df)
#redefine row and column names
rownames(df_t) <- colnames(df)
colnames(df_t) <- rownames(df)
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
วิธีที่ 1: ย้ายเฟรมข้อมูลโดยใช้ Base R
สมมติว่าเรามีกรอบข้อมูลดังต่อไปนี้:
#create data frame df <- data. frame (A = c(1, 2, 3, 4, 5), B = c(6, 7, 8, 9, 10), C = c(11, 12, 13, 14, 15)) #define row names row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five') #view data frame df ABC One 1 6 11 Two 2 7 12 Three 3 8 13 Oven 4 9 14 Five 5 10 15
เราสามารถใช้ฟังก์ชัน R base t() เพื่อย้ายเฟรมข้อมูลอย่างรวดเร็ว:
#transpose data frame
t(df)
One Two Three Four Five
A 1 2 3 4 5
B 6 7 8 9 10
C 11 12 13 14 15
ตอนนี้แถวและคอลัมน์กลับด้านแล้ว
วิธีที่ 2: ย้ายเฟรมข้อมูลโดยใช้ data.table
สมมติอีกครั้งว่าเรามีกรอบข้อมูลต่อไปนี้:
#create data frame df <- data. frame (A = c(1, 2, 3, 4, 5), B = c(6, 7, 8, 9, 10), C = c(11, 12, 13, 14, 15)) #define row names row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five') #view data frame df ABC One 1 6 11 Two 2 7 12 Three 3 8 13 Oven 4 9 14 Five 5 10 15
เราสามารถใช้ฟังก์ชัน transpose() ของแพ็คเกจ data.table เพื่อย้าย data frame อย่างรวดเร็ว:
library (data.table) #transpose data frame df_t <- transpose(df) #redefine row and column names rownames(df_t) <- colnames(df) colnames(df_t) <- rownames(df) #display transposed data frame df_t One Two Three Four Five A 1 2 3 4 5 B 6 7 8 9 10 C 11 12 13 14 15
ผลลัพธ์คือกรอบข้อมูลที่ย้ายจากตัวอย่างก่อนหน้า
หมายเหตุ : เมธอด data.table จะเร็วกว่า R พื้นฐานมาก หากคุณทำงานกับเฟรมข้อมูลขนาดใหญ่มาก
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ บนกรอบข้อมูลใน R:
วิธีใช้ฟังก์ชันกับแต่ละแถวของกรอบข้อมูลใน R
วิธีเพิ่มคอลัมน์ว่างลงใน data frame ใน R
วิธีเซ็ตย่อย data frame ใน R