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
284
Last 30 days
14640th
726
Last 90 days
2.9K
Last year
Trend: +27.9% (30d vs prior 30d)
CRAN Check Status
Show all 14 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-macos-arm64 | 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 (16 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
| ^
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
| ^