Cara memperbaikinya di r: error: duplikat pengidentifikasi untuk baris
Kesalahan yang mungkin Anda temui di R adalah:
Error: Duplicate identifiers for rows
Kesalahan ini terjadi ketika Anda mencoba menggunakan fungsi spread() untuk menyebarkan nilai dari satu atau beberapa kolom dalam bingkai data ke dalam kolomnya sendiri.
Namun, kesalahan dapat terjadi jika tidak ada ID unik untuk setiap baris, sehingga tidak ada cara untuk menentukan nilai mana yang termasuk dalam observasi mana saat menjalankan distribusi.
Contoh berikut menunjukkan cara memperbaiki kesalahan ini dalam praktiknya.
Contoh: Cara memperbaiki kesalahan
Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang berbagai pemain bola basket:
#create data frame df <- data. frame (player=rep(c(' A ', ' B '), each= 4 ), year=rep(1:4, times= 2 ), assists=c(4, 10, 4, 4, 3, 7, 7, 6), dots=c(14, 6, 18, 7, 22, 9, 38, 4)) #view data frame df player year assists points 1 A 1 4 14 2 A 2 10 6 3 To 3 4 18 4 To 4 4 7 5 B 1 3 22 6 B 2 7 9 7 B 3 7 38 8 B 4 6 4
Sekarang misalkan kita ingin mengubah kerangka data agar kolom tahun menjadi kolom id dan membuat kolom baru bernama assists_A , assists_B , points_A dan points_B untuk mewakili nilai assist dan poin pemain A dan B selama setiap tahun. .
Karena nilai pada kolom tahun tidak unik (akan ada dua angka 1, dua angka 2, dan seterusnya), fungsi spread() akan menghasilkan kesalahan.
Namun, kita dapat menggunakan fungsi pivot_wider() dengan sintaks berikut untuk menghasilkan bingkai data yang diinginkan:
library (tidyr)
#spread the values in the points and assists columns
pivot_wider(data = df,
id_cols = year,
names_from = player,
values_from = c(' assists ', ' points '))
# A tibble: 4 x 5
year assists_A assists_B points_A points_B
1 1 4 3 14 22
2 2 10 7 6 9
3 3 4 7 18 38
4 4 4 6 7 4
Perhatikan bahwa kami tidak menerima kesalahan apa pun dan berhasil membuat kolom baru yang menampilkan nilai poin dan assist untuk Pemain A dan B di masing-masing empat tahun.
Sumber daya tambahan
Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya di R:
Cara memperbaikinya di R: NA yang diperkenalkan dengan paksaan
Cara memperbaiki di R: indeks di luar batas
Cara memperbaikinya di R: panjang benda yang lebih panjang bukan kelipatan panjang benda yang lebih pendek
Cara memperbaiki di R: jumlah elemen yang akan diganti bukan kelipatan dari panjang penggantian