File: cos_sim.R

package info (click to toggle)
r-bioc-mutationalpatterns 3.16.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,360 kB
  • sloc: sh: 8; makefile: 2
file content (22 lines) | stat: -rw-r--r-- 625 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#' Cosine similarity function
#'
#' Calculate the cosine similarity between two vectors of the same length.
#' The cosine similarity is a value between 0 (distinct) and 1 (identical)
#' and indicates how much two vectors are alike.
#'
#' @param x Vector 1 of length n
#' @param y Vector 2 of length n
#' @return Cosine similarity value; a value between 0 and 1
#'
#' @examples
#' x <- c(1.1, 2.1, 0.2, 0.1, 2.9)
#' y <- c(0.9, 1.9, 0.5, 0.4, 3.1)
#' cos_sim(x, y)
#' @export

cos_sim <- function(x, y) {
  res <- x %*% y / (sqrt(x %*% x) * sqrt(y %*% y))
  # coerce matrix to numeric
  res <- as.numeric(res)
  return(res)
}