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
<lassana.koita at aviation-civile.gouv.fr> 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: Lassana.Koita at aviation-civile.gouv.fr http://www.stac.aviation-civile.gouv.fr/
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html