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