Hoe op te lossen in r: fout: dubbele identificatiegegevens voor rijen
Een fout die je tegen kunt komen in R is:
Error: Duplicate identifiers for rows
Deze fout treedt op wanneer u probeert de functie spread() te gebruiken om de waarden van een of meer kolommen in een dataframe naar hun eigen kolommen te spreiden.
Er kan echter een fout optreden als er geen unieke ID voor elke rij is, waardoor er bij het uitvoeren van de distributie niet kan worden bepaald welke waarden bij welke waarnemingen horen.
Het volgende voorbeeld laat zien hoe u deze fout in de praktijk kunt corrigeren.
Voorbeeld: hoe u de fout kunt oplossen
Stel dat we het volgende dataframe in R hebben dat informatie bevat over verschillende basketbalspelers:
#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
Stel nu dat we het dataframe willen transformeren om de jaarkolom als ID-kolom te hebben en nieuwe kolommen willen maken met de namen assists_A , assists_B , points_A en points_B om de assists en puntwaarden van spelers A en B in de loop van elk jaar weer te geven .
Omdat de waarden in de jaarkolom niet uniek zullen zijn (er zullen twee 1’s, twee 2’s, etc. zijn), zal de functie spread() een fout opleveren.
We kunnen echter de functie pivot_wider() gebruiken met de volgende syntaxis om het gewenste dataframe te produceren:
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
Houd er rekening mee dat we geen fouten ontvangen en met succes de nieuwe kolommen kunnen maken die de punt- en hulpwaarden voor spelers A en B in elk van de vier jaar weergeven.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Hoe op te lossen in R: NA’s geïntroduceerd door dwang
Hoe te repareren in R: index buiten bereik
Hoe op te lossen in R: de lengte van een langer object is geen veelvoud van de lengte van een korter object
Hoe te repareren in R: het aantal te vervangen elementen is geen veelvoud van de vervangingslengte