17 inline std::vector<double> convert_vec(
const Eigen::VectorXd& x)
19 std::vector<double> xx(x.size());
21 Eigen::VectorXd::Map(&xx[0], x.size()) = x;
42 inline double wdm(
const Eigen::VectorXd& x,
43 const Eigen::VectorXd& y,
45 Eigen::VectorXd weights = Eigen::VectorXd(),
46 bool remove_missing =
true)
48 return wdm(utils::convert_vec(x),
49 utils::convert_vec(y),
51 utils::convert_vec(weights),
70 inline Eigen::MatrixXd
wdm(
const Eigen::MatrixXd& x,
72 Eigen::VectorXd weights = Eigen::VectorXd(),
73 bool remove_missing =
true)
77 throw std::runtime_error(
"x must have at least 2 columns.");
79 Eigen::MatrixXd ms = Eigen::MatrixXd::Identity(d, d);
80 for (
size_t i = 0; i < d; i++) {
81 for (
size_t j = i + 1; j < d; j++) {
82 ms(i, j) =
wdm(utils::convert_vec(x.col(i)),
83 utils::convert_vec(x.col(j)),
85 utils::convert_vec(weights),
double wdm(const Eigen::VectorXd &x, const Eigen::VectorXd &y, std::string method, Eigen::VectorXd weights=Eigen::VectorXd(), bool remove_missing=true)
Definition: eigen.hpp:42
Weighted dependence measures.
Definition: bbeta.hpp:11