I need your help

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

I need your help

KOITA Lassana - STAC/ACE




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
Reply | Threaded
Open this post in threaded view
|

Re: I need your help

Marco Geraci
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-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html