Oplossing: tenminste geen ontbrekende argumenten; feedback
Een waarschuwingsbericht dat u in R kunt tegenkomen is:
Warning message: In min(data): no non-missing arguments to min; returning Inf
Dit waarschuwingsbericht verschijnt telkens wanneer u de minimum- of maximumwaarde van een vector met lengte nul probeert te vinden.
Het is belangrijk op te merken dat dit slechts een waarschuwingsbericht is en niet daadwerkelijk verhindert dat uw code wordt uitgevoerd.
U kunt echter een van de volgende methoden gebruiken om dit waarschuwingsbericht volledig te vermijden:
Methode 1: Verwijder het waarschuwingsbericht
suppressWarnings(min(data))
Methode 2: Definieer een aangepaste functie om het minimum of maximum te berekenen
#define custom function to calculate min custom_min <- function (x) { if (length(x)>0) min(x) else Inf} #use custom function to calculate min of data custom_min(data)
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Methode 1: Verwijder het waarschuwingsbericht
Stel dat we de functie min() proberen te gebruiken om de minimumwaarde van een vector met lengte nul te vinden:
#define vector with no values
data <- numeric(0)
#attempt to find min value of vector
min(data)
[1] Lower
Warning message:
In min(data): no non-missing arguments to min; returning Inf
Merk op dat we een waarschuwingsbericht ontvangen dat ons vertelt dat we hebben geprobeerd de minimumwaarde van een vector te vinden zonder ontbrekende argumenten.
Om dit waarschuwingsbericht te voorkomen, kunnen we de functie suppressWarnings() gebruiken:
#define vector with no values
data <- numeric(0)
#find minimum value of vector
suppressWarnings(min(data))
[1] Lower
De minimumwaarde wordt nog steeds berekend als “ Inf „, maar we ontvangen deze keer geen waarschuwingsberichten.
Methode 2: Definieer een aangepaste functie
Een andere manier om het waarschuwingsbericht te vermijden is door een aangepaste functie te definiëren die de minimumwaarde alleen berekent als de lengte van een vector groter is dan nul, anders wordt de waarde “ Inf “ geretourneerd:
#define vector with no values
data <- numeric(0)
#define custom function to calculate min
custom_min <- function (x) { if (length(x)>0) min(x) else Inf}
#use custom function to calculate min
custom_min(data)
[1] Lower
Houd er rekening mee dat de minimumwaarde wordt berekend als “ Inf “ en dat we geen waarschuwingsberichten ontvangen.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Hoe op te lossen in R: dim(X) moet een positieve lengte hebben
Oplossing in R: namen komen niet overeen met eerdere namen
Hoe op te lossen in R: de lengte van een langer object is geen veelvoud van de lengte van een korter object
Hoe op te lossen in R: contrasten kunnen alleen worden toegepast op factoren met 2 of meer niveaus