Performs a support vector regression (SVR). First, the data is
scaled then it solves for the SVR. An svm model is used with the following
specifications nu=0.5,scale = TRUE, type = "nu-regression",
kernel ="linear",cost = 1.
Nu-support vector regression was performed using the svm function in the
e1071 package in R. Parameters were set to nu = 0.5, type = <U+201C>nu-regression<U+201D>,
kernel = <U+201C>linear<U+201D>, cost = 1, and all others to the default values.
Bulk data and signature matrices were scaled to -1, 1. These parameter
and scaling choices match those specified in Schelker et al. in their
MATLAB code, accessed through https://figshare.com/s/865e694ad06d5857db4b.
As in Newman et al., model coefficients are extracted from the svm model
using t(model$coefs) model$SV, and any negative coefficients are set
to zero. The coefficients are then scaled by the sum of the coefficients,
such that the scaled coefficients will sum to one.
Citations:
Newman, A. M. et al. Robust enumeration of cell subsets from tissue
expression profiles. Nat. Methods 12, 453<U+2013>457 (2015).
Schelker, M. et al. Estimation of immune cell content in tumor
tissue using single-cell RNA-seq data. Nat. Commun. 8, 2032 (2017).