# I need your help

 Classic List Threaded
2 messages
Reply | Threaded
Open this post in threaded view
|

## I need your help

 Hi, Dear R users I have problem with the following code. The matrix result must be a matrix (3x3). But I have obtained a matrix(3x1) and I don't know why. So, I need your help Best regards ##################################################################### taille <- function (delta, t, prob = 0.2) { niv.conf <- c(0.90, 0.95, 0.99) if(niv.conf <- 0.90) {    t <- 1.645 }  else {  if(niv.conf <- 0.95) {    t <- 1.96 } t <- 2.575 } n <- length(delta) m <- length(t) result <- matrix(nrow = n, ncol = m); for (i in 1:n)    {      for(j in 1:m)       {        result[i,j]<- prob*(1-prob)*((t[i])^2)/(delta[j])^2 ;       }    } rownames(result) <- delta colnames(result) <- niv.conf round(result,2) } taille (delta <- c( 0.01, 0.02, 0.03), niv.conf <-  c(0.90, 0.95, 0.99)) ####################################################################" Lassana KOITA Etudes de Sécurité et d'Exploitation aéroportuaires / Aerodrome Safety & Statistical analysis Service Technique de l'Aviation Civile (STAC) / Civil Aviation Technical Department Direction Générale de l'Aviation Civile (DGAC) / French Civil Aviation Authority Tel: 01 49 56 80 60 Fax: 01 49 56 82 14 E-mail: [hidden email] http://www.stac.aviation-civile.gouv.fr/______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Reply | Threaded
Open this post in threaded view
|

## Re: I need your help

 Hello, I made some adjustments to your code. 1) You used 't' twice in your code. When you assign t <- 1.645, the length m of 't' becomes 1 (that's why your matrix was 3 x 1) 2) I assumed that the 'critical value' t is the quantile of a Normal (0,1). By using 't <- qnorm(0.5*level + 0.5)' allows you to consider any value between 0 and 1 for level. Otherwise, you must write a 'neverending' list  of 'if else'. If I assumed wrong, put back in the code the 'if else' statement. 3) The 'kronecker' function avoids the loops for 'i' and 'j' I hope this is what you want. Marco Geraci ###################### taille <- function (delta, level, prob = 0.2) { t <- qnorm(0.5*level + 0.5) n <- length(delta) m <- length(level) result <- prob*(1-prob)*matrix(kronecker(t^2,delta^2,FUN="/"), n, m, byrow=T) rownames(result) <- delta colnames(result) <- level round(result,2) } taille (delta = c(0.01, 0.02, 0.03), level = c(0.90, 0.95, 0.99)) ############################# --- KOITA Lassana - STAC/ACE <[hidden email]> wrote: > > > > > Hi, > Dear R users > I have problem with the following code. The matrix > result must be a matrix > (3x3). But I have obtained a matrix(3x1) and I don't > know why. > So, I need your help > > Best regards > > ##################################################################### > > taille <- function (delta, t, prob = 0.2) > > { > > niv.conf <- c(0.90, 0.95, 0.99) > if(niv.conf <- 0.90) { >    t <- 1.645 > } > >  else { > >  if(niv.conf <- 0.95) { >    t <- 1.96 > } > > t <- 2.575 > } > > n <- length(delta) > > m <- length(t) > > result <- matrix(nrow = n, ncol = m); > > for (i in 1:n) >    { >      for(j in 1:m) > >       { > >        result[i,j]<- > prob*(1-prob)*((t[i])^2)/(delta[j])^2 ; > >       } >    } > > rownames(result) <- delta > colnames(result) <- niv.conf > round(result,2) > > } > > taille (delta <- c( 0.01, 0.02, 0.03), niv.conf <- > c(0.90, 0.95, 0.99)) > > ####################################################################" > > > > Lassana KOITA > Etudes de Sécurité et d'Exploitation aéroportuaires > / Aerodrome Safety & > Statistical analysis > Service Technique de l'Aviation Civile (STAC) / > Civil Aviation Technical > Department > Direction Générale de l'Aviation Civile (DGAC) / > French Civil Aviation > Authority > Tel: 01 49 56 80 60 > Fax: 01 49 56 82 14 > E-mail: [hidden email] > http://www.stac.aviation-civile.gouv.fr/> > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html> ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide! http://www.R-project.org/posting-guide.html