С точки зрения производительности, я думаю, что прямой запрос SQL с использованием команды EXISTS был бы уместным. См. Здесь, как выполнять SQL непосредственно в Entity Framework: http://blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-inentity -framework-4.aspx
Я думаю, что разница зависит от того, как разыгрываются усы коробочных сюжетов. Есть несколько способов, определенных для усов.
В вашем случае я предполагаю, что язык matlab (как нестатистический), по умолчанию, рисует усы от минимального до максимального значения, тогда как R более ориентирован на статистику и использует по умолчанию межквартильный диапазон (IQR) ). Таким образом, он маркирует все снаружи как выброс в ваших данных. Параметр диапазона в R - это коэффициент для интеркулярного диапазона, который используется для определения выбросов. Я не использую Matlab, но я предполагаю, что добавление усов изменяет поведение того, как генерируются усы (вероятно, от IQR до минимума-максимума).
То, кому доверять, зависит от того, что вы хотели бы проанализировать, и от того, играют ли для вас роль посторонние.
Из документации 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.