Cara memperbaiki di r: kesalahan di as.date.numeric(x): 'origin' harus disediakan
Kesalahan yang mungkin Anda temui di R adalah:
Error in as.Date.numeric(x) : 'origin' must be supplied
Kesalahan ini biasanya terjadi ketika Anda mencoba mengonversi angka menjadi tanggal di R, namun tidak dapat memberikan tanggal asli.
Tutorial ini menjelaskan dengan tepat cara memperbaiki kesalahan ini.
Bagaimana cara mereproduksi kesalahan tersebut
Misalkan kita mempunyai kerangka data berikut di R yang menunjukkan total penjualan yang dilakukan selama beberapa hari oleh sebuah perusahaan:
#create data frame
df <- data. frame (date=c(27, 140, 180, 200),
sales=c(12, 22, 30, 31))
#view data frame
df
dirty dates
1 27 12
2 140 22
3 180 30
4,200 31
Kita dapat menggunakan fungsi str() untuk menampilkan struktur bingkai data:
#view structure of data frame
str(df)
'data.frame': 4 obs. of 2 variables:
$ date: num 27 140 180 200
$ sales: num 12 22 30 31
Kita dapat melihat bahwa kolom tanggal dan penjualan keduanya bersifat numerik.
Sekarang misalkan kita mencoba mengubah kolom tanggal menjadi format tanggal:
#attempt to convert date column to date format df$date <- as. Date (df$date) Error in as.Date.numeric(df$date) : 'origin' must be supplied
Kami menerima kesalahan karena kami tidak menggunakan argumen asal dalam fungsi as.Date() .
Bagaimana cara memperbaiki kesalahan tersebut
Cara untuk memperbaiki kesalahan ini adalah dengan memberikan tanggal asli sehingga R mengetahui cara mengubah angka menjadi tanggal:
#convert date column to date format, using 2020-01-01 as origin date
df$date <- as. Date (df$date, origin=" 2020-01-01 ")
#view updated data frame
df
dirty dates
1 2020-01-28 12
2 2020-05-20 22
3 2020-06-29 30
4 2020-07-19 31
Dengan memberikan tanggal asal, R mengonversi angka menjadi tanggal dengan menambahkan jumlah hari ke tanggal asal yang disediakan.
Misalnya:
- Nilai tanggal pertama 27 diubah menjadi 28-01-2020 dengan menambahkan 27 hari ke tanggal asli 01-01-2020.
- Nilai tanggal kedua sebesar 140 diubah menjadi 20/05/2020 dengan menambahkan 140 hari ke tanggal asli 01/01/2020.
Dan seterusnya.
Kita juga dapat menggunakan fungsi class() untuk mengonfirmasi bahwa kolom baru memang berisi tanggal:
#display class of date column
class(df$date)
[1] “Date”
Kolom baru sekarang menjadi tanggal, bukan angka.
Sumber daya tambahan
Tutorial berikut menjelaskan cara mengatasi kesalahan umum lainnya di R:
Cara memperbaiki di R: Nama tidak sesuai dengan nama sebelumnya
Cara memperbaikinya di R: panjang benda yang lebih panjang bukan kelipatan panjang benda yang lebih pendek
Cara memperbaikinya di R: kontras hanya dapat diterapkan pada faktor dengan 2 level atau lebih