2014-11-23 4 views
-4

мой вопрос заключается в том, что это лучший способ или правильный способ борьбы с NaN и NA и Inf для расчета mean в R:Как бороться с NaN, Na и Inf для вычисления среднего значения в R? + После измерения показателей обнаружения сообщества

  • изменение Inf в НС также и в качестве is.Na(NaN) является TRUE также, просто используйте na.rm= TRUE в mean функции или

  • изменения всех до нуля, а затем вычислить функцию mean.

значение, которые я хочу, чтобы вычислить среднее значение для является значение происходит от измерения conductance и expansion для алгоритма обнаружения сообщества, как это определенно here

Благодаря

+1

Хорошо меняя их на ноль, вы получаете другой результат. 'mean (c (1, NA, 8,9, NA), na.rm = TRUE) # [1] 6; средний (c (1,0,8,9,0)) # [1] 3,6', поэтому я, вероятно, буду использовать 'na.rm' –

+0

спасибо за ваш комментарий @RichardScriven да, мой вопрос в том, какой из них лучше и Зачем? ... почему вы используете na.rm? –

+0

Потому что 'NA' означает« Недоступно ». Это не означает, что значение равно нулю. Мы не знаем, что это такое. Это означает, что элемент должен быть исключен из вычислений. Мы не можем считать, что оно равно нулю. Это похоже на то, что кто-то не ответил на опрос. Вы могли бы заполнить этот ответ для них, если они захотят его опустить? –

ответ

2

Ну, я бы различать случаи Н.А./NaN/Бесконечность, а остальное. Я бы, конечно, не преобразовал их в ноль, так как это значительно исказило бы результат в то же время, не имея никакого реального математического смысла.

Если значение NA, то это не так, как следует из названия. Если это NaN, то это не номер И Inf ... ну, это бесконечность.

Во всех этих случаях вы не можете получить среднее значение. Исключите их и, возможно, попытайтесь понять, почему они появляются (если вам это нужно, нужно и т. Д.).