Skip to content

HDoutliers

Leland Wilkinson's Algorithm for Detecting Multidimensional Outliers

v1.0.4 · Feb 11, 2022 · MIT + file LICENSE

Description

An implementation of an algorithm for outlier detection that can handle a) data with a mixed categorical and continuous variables, b) many columns of data, c) many rows of data, d) outliers that mask other outliers, and e) both unidimensional and multidimensional datasets. Unlike ad hoc methods found in many machine learning papers, HDoutliers is based on a distributional model that uses probabilities to determine outliers.

Downloads

420

Last 30 days

9951st

1.3K

Last 90 days

5.9K

Last year

Trend: +23.2% (30d vs prior 30d)

CRAN Check Status

9 ERROR
4 OK
Show all 13 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang ERROR
r-devel-linux-x86_64-debian-gcc ERROR
r-devel-linux-x86_64-fedora-clang ERROR
r-devel-linux-x86_64-fedora-gcc ERROR
r-devel-windows-x86_64 ERROR
r-oldrel-macos-arm64 OK
r-oldrel-macos-x86_64 OK
r-oldrel-windows-x86_64 ERROR
r-patched-linux-x86_64 ERROR
r-release-linux-x86_64 ERROR
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 ERROR
Check details (9 non-OK)
ERROR r-devel-linux-x86_64-debian-clang

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-devel-linux-x86_64-debian-gcc

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-devel-linux-x86_64-fedora-clang

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.work Not.tearoom Not.friends Not.resto Not.pub     black a
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-devel-linux-x86_64-fedora-gcc

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.work Not.tearoom Not.friends Not.resto Not.pub     black a
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-devel-windows-x86_64

examples

Running examples in 'HDoutliers-Ex.R' failed
The error most likely occurred in:

> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.work Not.tearoom Not.friends Not.resto Not.pub     black a
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-oldrel-windows-x86_64

examples

Running examples in 'HDoutliers-Ex.R' failed
The error most likely occurred in:

> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.work Not.tearoom Not.friends Not.resto Not.pub     black a
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-patched-linux-x86_64

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-release-linux-x86_64

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-release-windows-x86_64

examples

Running examples in 'HDoutliers-Ex.R' failed
The error most likely occurred in:

> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### ** Examples
> 
>  require(FactoMineR)
>  data(tea)
>  head(tea)
      breakfast     tea.time     evening     lunch     dinner     always home
1     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
2     breakfast Not.tea time Not.evening Not.lunch Not.dinner Not.always home
3 Not.breakfast     tea time     evening Not.lunch     dinner Not.always home
4 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
5     breakfast Not.tea time     evening Not.lunch Not.dinner     always home
6 Not.breakfast Not.tea time Not.evening Not.lunch     dinner Not.always home
      work     tearoom     friends     resto     pub       Tea   How    sugar
1 Not.work Not.tearoom Not.friends Not.resto Not.pub     black a
...[truncated]...
.friendliness Not.iron absorption Not.feminine Not.sophisticated
2 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
3     friendliness Not.iron absorption Not.feminine Not.sophisticated
4 Not.friendliness Not.iron absorption Not.feminine     sophisticated
5     friendliness Not.iron absorption Not.feminine Not.sophisticated
6 Not.friendliness Not.iron absorption Not.feminine Not.sophisticated
     slimming    exciting    relaxing    effect.on.health
1 No.slimming No.exciting No.relaxing No.effect on health
2 No.slimming    exciting No.relaxing No.effect on health
3 No.slimming No.exciting    relaxing No.effect on health
4 No.slimming No.exciting    relaxing No.effect on health
5 No.slimming No.exciting    relaxing No.effect on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted

Check History

ERROR 11 OK · 0 NOTE · 0 WARNING · 2 ERROR · 0 FAILURE Jun 12, 2026
ERROR r-devel-linux-x86_64-fedora-clang

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### **
...[truncated]...
ct on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
ERROR r-devel-linux-x86_64-fedora-gcc

examples

Running examples in ‘HDoutliers-Ex.R’ failed
The error most likely occurred in:

> ### Name: dataTrans
> ### Title: Data Transformation for Leland Wilkinson's _hdoutliers_
> ###   Algorithm
> ### Aliases: dataTrans
> ### Keywords: cluster
> 
> ### **
...[truncated]...
ct on health
6 No.slimming No.exciting    relaxing No.effect on health
>  dataTrans(tea[,-1])
Error in res.mca$eig[1:(nlevels(Xact) - 1), , drop = FALSE] : 
  subscript out of bounds
Calls: dataTrans -> sapply -> lapply -> FUN -> MCA
Execution halted
OK 13 OK · 0 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Jun 9, 2026
ERROR 12 OK · 0 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Jun 8, 2026
ERROR r-devel-linux-x86_64-debian-gcc

package dependencies

Package required but not available: ‘FactoMineR’

See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’
manual.
OK 14 OK · 0 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026

Reverse Dependencies (1)

imports

Dependency Network

Dependencies Reverse dependencies FNN FactoMineR mclust OutliersO3 HDoutliers

Version History

13 tracked
new 1.0.4 Mar 10, 2026
updated 1.0.4 ← 1.0.3 diff Feb 10, 2022
updated 1.0.3 ← 1.0.2 diff Sep 28, 2020
updated 1.0.2 ← 1.0.1 diff Jul 9, 2020
updated 1.0.1 ← 1.0 diff Mar 31, 2020
updated 1.0 ← 0.15 diff Feb 10, 2018
updated 0.15 ← 0.14 diff Dec 23, 2016
updated 0.14 ← 0.12 diff Nov 27, 2016
updated 0.12 ← 0.9 diff Nov 16, 2016
updated 0.9 ← 0.8 diff Oct 31, 2016
updated 0.8 ← 0.5 diff Sep 8, 2016
updated 0.5 ← 0.2 diff Jul 17, 2016
new 0.2 Jun 22, 2016