Como consertar: pelo menos nenhum argumento não faltante; opinião


Uma mensagem de aviso que você pode encontrar no R é:

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

Esta mensagem de aviso aparece sempre que você tenta encontrar o valor mínimo ou máximo de um vetor de comprimento zero.

É importante observar que esta é apenas uma mensagem de aviso e não impedirá a execução do seu código.

No entanto, você pode usar um dos seguintes métodos para evitar completamente essa mensagem de aviso:

Método 1: Remova a mensagem de aviso

 suppressWarnings(min(data))

Método 2: Defina uma função personalizada para calcular o mínimo ou máximo

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

Os exemplos a seguir mostram como usar cada método na prática.

Método 1: Remova a mensagem de aviso

Suponha que estejamos tentando usar a função min() para encontrar o valor mínimo de um vetor de comprimento 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

Observe que recebemos uma mensagem de aviso informando que tentamos encontrar o valor mínimo de um vetor sem nenhum argumento ausente.

Para evitar esta mensagem de aviso, podemos usar a função suprimirWarnings() :

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

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

[1] Lower

O valor mínimo ainda é calculado como ” Inf “, mas desta vez não recebemos nenhuma mensagem de aviso.

Método 2: definir uma função personalizada

Outra forma de evitar a mensagem de aviso é definir uma função customizada que calcule o valor mínimo apenas se o comprimento de um vetor for maior que zero, caso contrário um valor de ” Inf ” será retornado:

 #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

Observe que o valor mínimo é calculado como ” Inf ” e não recebemos nenhuma mensagem de aviso.

Recursos adicionais

Os tutoriais a seguir explicam como resolver outros erros comuns em R:

Como corrigir em R: dim(X) deve ter comprimento positivo
Como corrigir em R: os nomes não correspondem aos nomes anteriores
Como corrigir em R: o comprimento de um objeto mais longo não é múltiplo do comprimento de um objeto mais curto
Como corrigir em R: contrastes só podem ser aplicados a fatores com 2 ou mais níveis

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *