2017-06-21 2 views
0

Je suis en train de créer une matrice en utilisant une boucle, simple mais ne fonctionne pas à ce jour .... Je commence maintenant avec R.R comment remplir la matrice avec boucle

n = 17

M est une matrice contenant des valeurs de tau kendall-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); 
} 

La dernière ligne de code est juste pour comprendre comment je veux remplir la matrice. Comment puis-je résoudre le problème?

+2

Il y a quelques aspects manquants dans votre question qui nous aideraient à comprendre votre problème. Par exemple, n est inconnu, M est inconnu. De plus, par votre code, les première et deuxième rangées de la matrice M1 auraient des valeurs récurrentes. –

+0

Faites d'abord une 'liste', puis convertissez en' matrice'. Par exemple, essayez 'L <- c (1,1,1,2,2,2,3,3,3)' puis 'matrix (L, ncol = 3)' pour voir comment cela pourrait fonctionner. – CPak

+0

J'ai corrigé la question ... –

Répondre

0

Je ne suis pas sûr de comprendre la question. Est-ce ce que vous recherchez? J'ai initié M comme un nombre aléatoire uniforme de 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); 
+0

Parfait ... merci ... –