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

Tambahkan komentar

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