Нахождение единственного пропущенного значения, которое приводит к значению корреляции - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь вычислить отсутствующее значение одной переменной, чтобы оно давало заданное значение корреляции

library(MASS)
mat <- mvrnorm(49, mu = c(0,5), Sigma = matrix(c(1,0.05,.05,1), ncol = 2), empirical = TRUE)

cor50row <-  function(x,y, rho){

  y_lnt <- length(y)

  x[length(x) +1] <- mean(x)

  val <- seq(-1000,0, .01)

  for(indx in val){
    y[y_lnt + 1] <- indx
    if(rho - cor(x,y) < 1e-6){
      break
    }
  }
  return(cbind(x,y))
}
a <- cor50row(x = mat[,1], y= mat[,2], rho = .06)

Таким образом, идея состоит в том, чтобы найти недостающее значение переменной y, которое увеличивает корреляцию на .01

...