¿Cómo saber cuándo se preocupan por las advertencias en r

Errores y advertencias tienen diferentes funciones en R Usted no puede conseguir alrededor de error, ya que simplemente dejan su código. Advertencias por otro lado son una bestia completamente diferente. Incluso si R lanza una advertencia, se continúa ejecutando el código independientemente. Puede pasar por alto las advertencias, pero por lo general eso es una muy mala idea. Advertencias menudo son la única señal que tiene que su código tiene un error semántico o la lógica.

Por ejemplo, usted podría haber olvidado de la ifelse () función y trató de algo como el siguiente ejemplo:

> X lt; - 01:10> y lt; - si (x lt; 5) 0 cosa mensaje 1 Advertencia: En caso de (x lt; 5) 0 1 cosa: la condición tiene longitud> 1 y sólo se utilizará el primer elemento

Esto apunta advertencia en un error de semántica: si espera una sola CIERTO o FALSO valor, pero que ya ha proporcionado todo un vector. Tenga en cuenta que, al igual que los errores, advertencias le indican en general que el código ha generado la alerta.

Aquí es otra advertencia que aparece con regularidad y puede apuntar a un error de semántica o lógica en el código:

> X lt; - 4> sqrt (x - 5) [1] mensaje NaNWarning: En sqrt (x - 5): NaNs producido

Porque x - 5 es negativo cuando X es 4, R no puede calcular la raíz cuadrada, y le advierte de que la raíz cuadrada de un número negativo no es un número (NaN).

Si usted es un matemático, es posible señalar que la raíz cuadrada de -1 es 0 - 1i. R puede, de hecho, hacer cálculos sobre números complejos, pero luego tienes que definir las variables como números complejos. Usted puede comprobar, por ejemplo, el archivo de Ayuda ?complejo para más información.

Aunque la mayoría de las advertencias son el resultado de cualquiera de los errores semánticos o lógicas en su código, incluso un error de sintaxis simple puede generar una advertencia en lugar de un error. Si usted desea trazar algunos puntos en R, se utiliza el gráfico() función. Se necesita un argumento columna para especificar el color de los puntos, pero usted podría equivocadamente intentar colorear los puntos utilizando el siguiente:

> Plot (1:10, 10: 1, color = verde)

Si intenta esto, usted consigue seis mensajes de alerta a la vez, todo lo que dice que color Probablemente no es el nombre de argumento que estás buscando:

Mensajes de advertencia: 1: En plot.window (...): "color" no es una parámetro2 gráfica: En plot.xy (xy, tipo, ...): "color" no es un parámetro gráfica ....

Tenga en cuenta que los mensajes de advertencia no apuntan hacia el código que ha escrito en la línea- comandos en lugar, apuntan a las funciones que nunca usó antes, como plot.window () y plot.xy ().

Puede pasar argumentos de una función a otra con el argumento de puntos. Eso es exactamente lo gráfico() hace aquí. Por lo tanto, gráfico() sí no genera una advertencia, pero cada función que gráfico() pasa el color argumento que hace.

Si recibe mensajes de advertencia o error, un profundo vistazo a las páginas de ayuda de la función (s) que generó el error puede ayudar a determinar cuál es la razón para el mensaje que recibió. Por ejemplo, en la página de ayuda de ?plot.xy, usted encuentra que el nombre correcto para el argumento es columna.

Así que, para resumir, la mayoría de las advertencias apuntan a uno de los siguientes problemas:

  • La función que dio resultado, pero por alguna razón ese resultado puede no ser correcta.

  • La función genera un resultado atípico, como N / A o NaN los valores.

  • La función no pudo hacer frente a algunos de los argumentos y los ignoró.

Sólo el último le dice que hay un problema con su sintaxis. Para los demás, usted tiene que examinar su código un poco más.




» » » » ¿Cómo saber cuándo se preocupan por las advertencias en r