R'de nasıl düzeltilir: hata: satırlar için yinelenen tanımlayıcılar
R’de karşılaşabileceğiniz bir hata:
Error: Duplicate identifiers for rows
Bu hata, bir veri çerçevesindeki bir veya daha fazla sütunun değerlerini kendi sütunlarına yaymak için spread() işlevini kullanmaya çalıştığınızda ortaya çıkar.
Ancak her satır için benzersiz bir kimlik yoksa hata oluşabilir, dolayısıyla dağıtımı çalıştırırken hangi değerlerin hangi gözlemlere ait olduğunu belirlemenin bir yolu yoktur.
Aşağıdaki örnekte bu hatanın pratikte nasıl düzeltileceği gösterilmektedir.
Örnek: Hata nasıl düzeltilir?
R’de çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#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
Şimdi, veri çerçevesini kimlik sütunu olarak yıl sütununa sahip olacak şekilde dönüştürmek istediğimizi ve her yıl boyunca A ve B oyuncularının asistlerini ve puan değerlerini temsil etmek için asist_A , asist_B , puan_A ve puan_B adı verilen yeni sütunlar oluşturmak istediğimizi varsayalım. .
Yıl sütunundaki değerler benzersiz olmayacağından (iki adet 1, iki adet 2 vb. olacaktır), spread() işlevi hata üretecektir.
Ancak istenen veri çerçevesini üretmek için pivot_wider() işlevini aşağıdaki sözdizimiyle kullanabiliriz:
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
Herhangi bir hata almadığımızı ve dört yılın her birinde Oyuncu A ve B’nin puan ve asist değerlerini gösteren yeni sütunları başarıyla oluşturabildiğimizi unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:
R’de nasıl düzeltilir: Zorlamayla ortaya çıkan NA’lar
R’de nasıl onarılır: sınırların dışında dizin
R’de nasıl düzeltilir: Daha uzun bir nesnenin uzunluğu, daha kısa bir nesnenin uzunluğunun katı değildir
R’de onarım nasıl yapılır: Değiştirilecek eleman sayısı, değiştirme uzunluğunun katı değildir