Cara menghitung nilai shift di r (dengan contoh)
Anda dapat menggunakan fungsi lag() dari paket dplyr di R untuk menghitung nilai lag.
Fungsi ini menggunakan sintaks dasar berikut:
mengimbangi(x, n=1, …)
Emas:
- x : vektor nilai
- n : jumlah posisi yang akan ditunda
Contoh berikut menunjukkan cara menggunakan fungsi ini untuk menghitung nilai yang digeser dalam praktiknya.
Contoh: Menghitung Nilai Bergeser di R
Misalkan kita memiliki kerangka data berikut di R yang menunjukkan jumlah penjualan yang dilakukan toko selama 10 hari berturut-turut:
#create data frame
df <- data. frame (day=1:10,
sales=c(18, 10, 14, 13, 19, 24, 25, 29, 15, 18))
#view data frame
df
day sales
1 1 18
2 2 10
3 3 14
4 4 13
5 5 19
6 6 24
7 7 25
8 8 29
9 9 15
10 10 18
Kita dapat menggunakan fungsi lag() dari paket dplyr untuk membuat kolom lag yang menampilkan penjualan hari sebelumnya untuk setiap baris:
library (dplyr)
#add new column that shows sales for previous day
df$previous_day_sales <- dplyr::lag(df$sales, n= 1 )
#view updated data frame
df
day sales previous_day_sales
1 1 18 NA
2 2 10 18
3 3 14 10
4 4 13 14
5 5 19 13
6 6 24 19
7 7 25 24
8 8 29 25
9 9 15 29
10 10 18 15
Berikut cara menafsirkan hasilnya:
- Nilai pertama pada kolom offset adalah NA karena tidak ada nilai sebelumnya pada kolom penjualan.
- Nilai kedua pada kolom offset adalah 18 karena merupakan nilai sebelumnya pada kolom penjualan.
- Nilai ketiga pada kolom offset adalah 10 karena merupakan nilai sebelumnya pada kolom penjualan.
Dan seterusnya.
Kita juga dapat mengubah nilai argumen n dalam fungsi lag() untuk menghitung nilai lag untuk sejumlah posisi sebelumnya yang berbeda:
library (dplyr)
#add new column that shows sales for two days prior
df$previous_day_sales <- dplyr::lag(df$sales, n= 2 )
#view updated data frame
df
day sales previous_day_sales
1 1 18 NA
2 2 10 NA
3 3 14 18
4 4 13 10
5 5 19 14
6 6 24 13
7 7 25 19
8 8 29 24
9 9 15 25
10 10 18 29
Catatan : Untuk membuat kolom lead, gunakan fungsi lead() dari paket dplyr, bukan fungsi lag() .
Sumber daya tambahan
Tutorial berikut menjelaskan cara menggunakan fungsi umum lainnya di R:
Cara menggunakan fungsi n() di dplyr
Cara menggunakan fungsicross() di dplyr
Cara menggunakan fungsi relokasi() di dplyr
Cara menggunakan fungsi irisan() di dplyr