[R] I need your help
Marco Geraci
marcodoc75 at yahoo.com
Tue Feb 21 22:28:20 CET 2006
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
>
More information about the R-help
mailing list