Cara menghitung selisih antar baris di r


Anda dapat menggunakan fungsi diff() untuk menghitung perbedaan antar baris dalam bingkai data di 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)

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh 1: Temukan selisih baris di setiap kolom

Kode berikut menunjukkan cara menghitung selisih antar baris di setiap kolom bingkai data:

 #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

Contoh 2: Temukan perbedaan antar baris dalam kolom tertentu

Kode berikut menunjukkan cara menghitung selisih antara baris kolom tertentu dalam bingkai data:

 #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

Contoh 3: Temukan perbedaan antar baris dan tambahkan kolom baru

Kode berikut memperlihatkan cara menghitung selisih antar baris dalam kolom tertentu dalam bingkai data, lalu menambahkan perbedaan tersebut sebagai kolom baru di akhir bingkai data:

 #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

Sumber daya tambahan

Tutorial berikut menjelaskan cara menjalankan fungsi garis umum lainnya di R:

Cara menggunakan fungsi colSums() di R
Cara menggunakan fungsi rowSums() di R
Cara menggunakan fungsi now() di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *