Description
The state-of-the-art algorithms for distance metric learning, including global and local methods such as Relevant Component Analysis, Discriminative Component Analysis, Local Fisher Discriminant Analysis, etc. These distance metric learning methods are widely applied in feature extraction, dimensionality reduction, clustering, classification, information retrieval, and computer vision problems.
Downloads
282
Last 30 days
14268th
740
Last 90 days
3K
Last year
Trend: +53.3% (30d vs prior 30d)
9
Last 30 days
24
Last 90 days
148
Last year
Trend: -35.7% (30d vs prior 30d)
CRAN Check Status
Show all 13 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | NOTE |
| r-devel-linux-x86_64-debian-gcc | NOTE |
| r-devel-linux-x86_64-fedora-clang | NOTE |
| r-devel-linux-x86_64-fedora-gcc | NOTE |
| r-devel-windows-x86_64 | NOTE |
| r-oldrel-macos-arm64 | NOTE |
| r-oldrel-macos-x86_64 | NOTE |
| r-oldrel-windows-x86_64 | NOTE |
| r-patched-linux-x86_64 | NOTE |
| r-release-linux-x86_64 | NOTE |
| r-release-macos-arm64 | NOTE |
| r-release-macos-x86_64 | NOTE |
| r-release-windows-x86_64 | NOTE |
Check details (15 non-OK)
CRAN incoming feasibility
Maintainer: ‘Yuan Tang <terrytangyuan@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Yuan",
family = "Tang",
role = c("aut", "cre"),
email = "terrytangyuan@gmail.com"),
person(given = "Gao",
family = "Tao",
role = "aut",
email = "joegaotao@gmail.com"),
person(given = "Xiao",
family = "Nan",
role = "aut",
email = "road2stat@gmail.com"))
as necessary.
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
CRAN incoming feasibility
Maintainer: ‘Yuan Tang <terrytangyuan@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Yuan",
family = "Tang",
role = c("aut", "cre"),
email = "terrytangyuan@gmail.com"),
person(given = "Gao",
family = "Tao",
role = "aut",
email = "joegaotao@gmail.com"),
person(given = "Xiao",
family = "Nan",
role = "aut",
email = "road2stat@gmail.com"))
as necessary.
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; missing escapes or markup?
26 | \eqn{neglinks_{ij} = 0} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Check History
NOTE 0 OK · 14 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
CRAN incoming feasibility
Maintainer: ‘Yuan Tang <terrytangyuan@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Yuan",
family = "Tang",
role = c("aut", "cre"),
...[truncated]...
role = "aut",
email = "joegaotao@gmail.com"),
person(given = "Xiao",
family = "Nan",
role = "aut",
email = "road2stat@gmail.com"))
as necessary.
CRAN incoming feasibility
Maintainer: ‘Yuan Tang <terrytangyuan@gmail.com>’
No Authors@R field in DESCRIPTION.
Please add one, modifying
Authors@R: c(person(given = "Yuan",
family = "Tang",
role = c("aut", "cre"),
...[truncated]...
role = "aut",
email = "joegaotao@gmail.com"),
person(given = "Xiao",
family = "Nan",
role = "aut",
email = "road2stat@gmail.com"))
as necessary.
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Rd files
checkRd: (-1) dca.Rd:24: Lost braces; missing escapes or markup?
24 | \eqn{neglinks_{ij} = 1} means chunklet \code{i} and chunklet {j}
| ^
checkRd: (-1) dca.Rd:26: Lost braces; m
...[truncated]...
up?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
checkRd: (-1) rca.Rd:57: Lost braces; missing escapes or markup?
57 | e.g. {1, 3, 7} and {4, 6}, might belong to the
| ^
Dependency Network
Version History
1 trackedR Observatory began tracking this package on Mar 10, 2026; it first appeared on CRAN Aug 29, 2015. Releases before tracking aren’t shown.