簡體   English   中英

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM