วิธีคำนวณความแตกต่างระหว่างแถวใน r


คุณสามารถใช้ฟังก์ชัน diff() เพื่อคำนวณความแตกต่างระหว่างแถวในกรอบข้อมูลใน R:

 #find difference between rows in every column of data frame
diff( as.matrix (df))

#find difference between rows of specific column
diff(df$column_name)

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

ตัวอย่างที่ 1: ค้นหาความแตกต่างระหว่างแถวในแต่ละคอลัมน์

รหัสต่อไปนี้แสดงวิธีการคำนวณความแตกต่างระหว่างแถวในแต่ละคอลัมน์ของกรอบข้อมูล:

 #create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 sales=c(7, 8, 8, 12, 10, 9, 13, 16, 11, 7))

#view data frame
df

   day sales
1 1 7
2 2 8
3 3 8
4 4 12
5 5 10
6 6 9
7 7 13
8 8 16
9 9 11
10 10 7

#calculate difference between rows for each column
diff( as.matrix (df))

      day sales
 [1,] 1 1
 [2,] 1 0
 [3,] 1 4
 [4,] 1 -2
 [5,] 1 -1
 [6,] 1 4
 [7,] 1 3
 [8,] 1 -5
 [9,] 1 -4

ตัวอย่างที่ 2: ค้นหาความแตกต่างระหว่างแถวในคอลัมน์ใดคอลัมน์หนึ่ง

รหัสต่อไปนี้แสดงวิธีการคำนวณความแตกต่างระหว่างแถวของคอลัมน์เฉพาะในกรอบข้อมูล:

 #create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 sales=c(7, 8, 8, 12, 10, 9, 13, 16, 11, 7))

#calculate difference between rows in 'sales' column
diff(df$sales)

[1] 1 0 4 -2 -1 4 3 -5 -4

ตัวอย่างที่ 3: ค้นหาความแตกต่างระหว่างแถวและเพิ่มคอลัมน์ใหม่

รหัสต่อไปนี้แสดงวิธีการคำนวณความแตกต่างระหว่างแถวในคอลัมน์เฉพาะในกรอบข้อมูล แล้วเพิ่มความแตกต่างเหล่านี้เป็นคอลัมน์ใหม่ที่ส่วนท้ายของกรอบข้อมูล:

 #create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 sales=c(7, 8, 8, 12, 10, 9, 13, 16, 11, 7))

#calculate difference between rows in 'sales' column
sales_diff <- diff(df$sales)

#append NA to beginning of differences vector
sales_diff <- c(NA, sales_diff)

#append differences vector as new column
df$sales_diff <- sales_diff

#view updated data frame
df

   day sales sales_diff
1 1 7 NA
2 2 8 1
3 3 8 0
4 4 12 4
5 5 10 -2
6 6 9 -1
7 7 13 4
8 8 16 3
9 9 11 -5
10 10 7 -4

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

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

วิธีใช้ฟังก์ชัน colSums() ใน R
วิธีใช้ฟังก์ชัน rowSums() ใน R
วิธีใช้ฟังก์ชัน nrow() ใน R

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

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