R-如何用for循环填充矩阵

R- how to fill matrix with for loop

我正在尝试使用 for 循环创建一个矩阵,很简单但目前还没有用....我现在开始使用 R。

n = 17

M 是包含 kendall tau-b 值的矩阵,ncol = 10 nrows = 1。

n <- length(plot[,2]);
z1a <- 1.96;

M1=matrix(data=NA, ncol= 10, nrow = 2);

for (i in M[,1:10]){
  #print(i)
  zr <- (1/2)*log((1+i)/(1-i));
  SE <- sqrt(0.437/(n-4));
  zU <- zr+z1a*SE;
  zL <- zr-z1a*SE;
  rL <- (exp(2*zL)-1)/(exp(2*zL)+1);
  rU <- (exp(2*zU)-1)/(exp(2*zU)+1);

  #print(rL)
  #print(rU)

  M1 [1,1:10] <- (exp(2*zL)-1)/(exp(2*zL)+1);
  M1 [2,1:10] <- (exp(2*zU)-1)/(exp(2*zU)+1);
}

最后一行代码只是为了理解我要如何填充矩阵。我该如何解决这个问题?

我不确定我是否理解问题。这是你想要的?我已将 M 初始化为从 0 到 1 的随机统一数

z1a <- 1.96;
n <- 17
set.seed(1)

M = runif(10)
M1 = matrix(data = NA, ncol = 10, nrow = 2);

zr <- (1/2)*log((1+M)/(1-M));
SE <- sqrt(0.437/(n-4));
zU <- zr+z1a*SE;
zL <- zr-z1a*SE;
rL <- (exp(2*zL)-1)/(exp(2*zL)+1);
rU <- (exp(2*zU)-1)/(exp(2*zU)+1);

M1 [1,1:10] <- (exp(2*zL)-1)/(exp(2*zL)+1);    
M1 [2,1:10] <- (exp(2*zU)-1)/(exp(2*zU)+1);