Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Pennisetum/JACA
R package to implements a joint framework that performs association and classification analysis for multi-view data
https://github.com/Pennisetum/JACA
Last synced: about 1 month ago
JSON representation
R package to implements a joint framework that performs association and classification analysis for multi-view data
- Host: GitHub
- URL: https://github.com/Pennisetum/JACA
- Owner: Pennisetum
- Created: 2018-12-10T00:23:40.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-04-26T20:54:22.000Z (over 3 years ago)
- Last Synced: 2024-08-02T20:43:40.221Z (4 months ago)
- Language: R
- Homepage:
- Size: 75.2 KB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-multi-omics - JACA - Zhang - Joint Association and Classification Analysis - [paper](https://arxiv.org/abs/1811.08511) (Software packages and methods / Multi-omics correlation or factor analysis)
README
# JACA: Joint association and classification analysis of multi-view data
The R package 'JACA' implements a joint statistical framework that performs association and classification analysis for multi-view data, where multi-view data refers to matched sets of measurements on the same subjects. The corresponding reference is["Joint association and classification analysis of multi-view data" by Zhang and Gaynanova](https://arxiv.org/abs/1811.08511) (2018+).
## Installation
To install the latest version from Github, use
```s
library(devtools)
devtools::install_github("Pennisetum/JACA")
```
## Usage```s
library(JACA)# Example
set.seed(1)
# Generate class indicator matrix Z
n = 100
Z=matrix(c(rep(1, n),rep(0, 2 * n)), byrow = FALSE, nrow = n)
for(i in 1:n){
Z[i, ] = sample(Z[i, ])
}# Generate input data X_list
d = 2
X_list = sapply(1:d, function(i) list(matrix(rnorm(n * 20), n, 20)))# Train JACA model
W = jacaTrain(Z, X_list, lambda = rep(0.05, 2), verbose = FALSE, alpha= 0.5, rho = 0.2)# Show the number of non-zero rows of each matrix of discriminant vectors
sapply(W, function(x) sum(rowSums(x) != 0))# Test semi supervised learning
# Set certain class labels and subsets of views as missing
Z[90:100, ] = rep(NA, 3)
X_list[[1]][1:10, ] = NA
X_list[[2]][11:20, ] = NA
W = jacaTrain(Z, X_list, kmax = 200, eps = 1e-06, lambda = rep(0.05, 2),alpha = 0.5, rho = 0.2, missing = TRUE)# Show the number of non-zero rows of each matrix of discriminant vectors
sapply(W, function(x) sum(rowSums(x) != 0))