Из документации MATLAB boxplot
:
В каждом блоке центральная отметка указывает медиану, а нижний и верхний края блока указывают 25-й и 75 процентиль соответственно. Усы распространяются на самые крайние точки данных, которые не считаются выбросами , а выбросы наносятся на график индивидуально с использованием символа «+».
blockquote>Вы, вероятно, хотите проверить вычисление выброса.
Под необязательным входом
'Whisker'
(по умолчанию 1.5) вы можете увидеть это объяснение:blockquote>
boxplot
рисует точки как выбросы, если они большеq3 + w × (q3 – q1)
или меньше [115 ], гдеw
- максимальная длина вискера, аq1
иq3
- 25-й и 75-й процентили данных выборки, соответственно.Если вы установите опцию
'Whisker'
на0.7
, вы получите тот же график, что и в вашем коде R:boxplot(df(:, 1:end-1), 'Whisker', 0.7);
Эквивалентным входом для R
boxplot
являетсяrange
( docs ):Диапазон: это определяет, как далеко простираются усы сюжета. из коробки. Если диапазон положительный, усы распространяются на самую крайнюю точку данных, которая не превышает диапазон, превышающий межквартильный диапазон от прямоугольника . Нулевое значение заставляет усы расширяться до крайностей данных.
blockquote>Похоже, это то же самое определение, как показано выше из документов MATLAB - пожалуйста, обратитесь к ответу Ходжо , чтобы немного подробнее узнать о вычислении IQR.
Вы не можете, можно только передать аргументы как a va_list
. Посмотрите comp.lang.c FAQ.
В целом, если Вы пишете функции variadic (то есть, функции, которые берут переменное количество аргументов) в C, необходимо записать две версии каждой функции: тот, который берет замещающий знак (...
), и тот, который берет a va_list
. Версия, берущая замещающий знак, должна звонить va_start
, назовите версию, берущую a va_list
, звонить va_end
, и возвратитесь. Нет никакой потребности в дублировании кода между двумя версиями функции, так как каждый называет другой.
Вероятно, можно использовать variadic макросы - как это:
#define FOO(...) do { do_some_checks; myfun(__VA_ARGS__); } while (0)
NB! Макросы Variadic C99-только