Hoe te repareren in r: vervanging heeft x-rijen, gegevens hebben y
Een foutmelding die u kunt tegenkomen bij het gebruik van R is:
Error in `$<-.data.frame`(`*tmp*`, conf_full, value = c("West", "West",: replacement has 3 rows, data has 5
Deze fout treedt op wanneer u probeert een nieuwe kolom toe te voegen aan een dataframe waarvan de waarden zijn gebaseerd op een bestaande kolom, maar u niet eerst de nieuwe kolom kunt maken.
Het volgende voorbeeld laat zien hoe u deze fout in de praktijk kunt oplossen.
Hoe de fout te reproduceren
Stel dat we het volgende dataframe in R creëren:
#create data frame
df <- data. frame (conference=c('W', 'W', 'W', 'E', 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34))
#view data frame
df
conference points assists
1 W 99 33
2 W 90 28
3 W 86 31
4 E 88 39
5 E 95 34
Stel nu dat we proberen een nieuwe kolom toe te voegen aan het dataframe met de naam conf_full :
#attempt to create new column based on conference name
df$conf_full[which(df$conference==' W ')] <- ' West '
df$conf_full[which(df$conference==' E ')] <- ' East '
Error in `$<-.data.frame`(`*tmp*`, conf_full, value = c("West", "West",:
replacement has 3 rows, data has 5
We krijgen een foutmelding omdat de variabelenaam conf_full nog niet bestaat, wat betekent dat we nog geen waarden aan deze kolom kunnen toekennen.
Hoe u de fout kunt vermijden
Om deze fout te voorkomen, kunnen we eerst de conf_full variabele maken en deze eenvoudigweg de waarden van NA toewijzen:
#create conf_full variable
df$conf_full <- NA
Nu de variabele bestaat, kunnen we er waarden aan toekennen:
#create new column based on conference
df$conf_full[which(df$conference==' W ')] <- ' West '
df$conf_full[which(df$conference==' E ')] <- ' East '
#view updated data frame
df
conference points assists conf_full
1 W 99 33 West
2 W 90 28 West
3 W 86 31 West
4 E 88 39 East
5 E 95 34 East
Houd er rekening mee dat we deze keer geen fouten ontvangen omdat we eerst de variabele conf_full hebben gemaakt voordat we probeerden er waarden aan toe te wijzen.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Hoe op te lossen in R: argumenten hebben betrekking op een verschillend aantal regels
Hoe op te lossen in R: fout bij het selecteren van ongebruikte argumenten
Hoe te repareren in R: vervanging heeft een lengte van nul