Come risolvere: almeno nessun argomento non mancante; feedback


Un messaggio di avviso che potresti incontrare in R è:

 Warning message:
In min(data): no non-missing arguments to min; returning Inf 

Questo messaggio di avviso viene visualizzato ogni volta che si tenta di trovare il valore minimo o massimo di un vettore di lunghezza zero.

È importante notare che questo è solo un messaggio di avviso e non impedirà effettivamente l’esecuzione del codice.

Tuttavia, è possibile utilizzare uno dei seguenti metodi per evitare completamente questo messaggio di avviso:

Metodo 1: rimuovere il messaggio di avviso

 suppressWarnings(min(data))

Metodo 2: definire una funzione personalizzata per calcolare il minimo o il massimo

 #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)

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Metodo 1: rimuovere il messaggio di avviso

Supponiamo di provare a utilizzare la funzione min() per trovare il valore minimo di un vettore di lunghezza zero:

 #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

Nota che riceviamo un messaggio di avviso che ci informa che abbiamo provato a trovare il valore minimo di un vettore senza argomenti non mancanti.

Per evitare questo messaggio di avviso, possiamo utilizzare la funzione sopprimeWarnings() :

 #define vector with no values
data <- numeric(0)

#find minimum value of vector
suppressWarnings(min(data))

[1] Lower

Il valore minimo viene ancora calcolato come ” Inf ” ma questa volta non riceviamo alcun messaggio di avviso.

Metodo 2: definire una funzione personalizzata

Un altro modo per evitare il messaggio di avviso è definire una funzione personalizzata che calcoli il valore minimo solo se la lunghezza di un vettore è maggiore di zero, altrimenti viene restituito un valore ” Inf “:

 #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

Tieni presente che il valore minimo viene calcolato come ” Inf ” e non riceviamo alcun messaggio di avviso.

Risorse addizionali

I seguenti tutorial spiegano come risolvere altri errori comuni in R:

Come risolvere in R: dim(X) deve avere una lunghezza positiva
Come risolvere il problema in R: i nomi non corrispondono ai nomi precedenti
Come risolvere in R: la lunghezza di un oggetto più lungo non è un multiplo della lunghezza di un oggetto più corto
Come risolvere in R: i contrasti possono essere applicati solo a fattori con 2 o più livelli

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *