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);
我正在尝试使用 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);