[R] help to program my function
hafida
hafida-06 at hotmail.fr
Tue Aug 7 19:14:57 CEST 2012
HI
>i have a problem please help me to solve it:
http://r.789695.n4.nabble.com/file/n4639434/aj.pdf aj.pdf
>i want to calculate the vecteur a[j] where j: 1...8
>this is the code in R:
>aj.fun <- function(j, i, X, z, E, beta0, beta1){
+ n <- length(X)
+ iX <- order(X)
+ iz <- order(z)
+ e1 <- -(beta)*z[ iz[1:(i - 1)] ]
+ numer <- E[j] - sum( X[ iX[1:(i - 1)] ] * exp(e1) )
+ e2 <- -(beta)*z[ iz[i:n] ]
+ denom <- sum( exp(e2) )
+ numer/denom
+ }
> iX<-order(X)
> iX
[1] 75 37 29 60 73 20 69 55 30 70 72 38 26 35 65 61 74 50 71 57 25 54 64 76
56
[26] 58 48 67 46 63 28 62 36 49 47 66 1 42 41 19 39 43 22 51 68 33 27 9 15
11
[51] 10 59 32 40 45 44 52 16 18 34 4 53 21 23 31 7 6 13 14 12 17 24 5 8
2
[76] 3
> iZ<-order(Z)
> iZ
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
25
[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
50
[51] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
75
[76] 76
>e1 <- -(beta)*Z[ iZ[1:(i - 1)] ]
Warning message:
In 1:(i - 1) : numerical expression has 76 elements: only the first used
> e1
[1] -442 -1664
>> numer <- E[j] - sum( X[ iX[1:(i - 1)] ] * exp(e1))
Warning message:
In 1:(i - 1) : numerical expression has 76 elements: only the first used
> numer
[1] 9.5 9.5 9.5 9.5 9.5 9.5 9.5 9.5
>> e2 <- -(beta)*Z[ iZ[i:n] ]
Warning message:
In i:n : numerical expression has 76 elements: only the first used
> e2
[1] -442 -1664 -442 -1792 -476 -1792 -476 -1792 -510 -1920 -510 -1920
[13] -510 -1920 -510 -1920 -510 -1920 -510 -2048 -544 -2048 -544 -2048
[25] -544 -2048 -544 -2048 -544 -2048 -544 -2048 -544 -2048 -578 -2176
[37] -578 -2176 -578 -2176 -578 -2176 -578 -2176 -578 -2176 -578 -2176
[49] -578 -2176 -578 -2176 -578 -2304 -612 -2304 -612 -2304 -612 -2304
[61] -612 -2304 -612 -2304 -612 -2304 -612 -2304 -646 -2432 -646 -2432
[73] -646 -2432 -646 -2432
> denom <- sum( exp(e2) )
> numer/denom
[1] 4.313746e+192 4.313746e+192 4.313746e+192 4.313746e+192 4.313746e+192
[6] 4.313746e+192 4.313746e+192 4.313746e+192
>my problem that the vecteur a[j] could not have the same number!!!
thank you in advance
hafida
--
View this message in context: http://r.789695.n4.nabble.com/help-to-program-my-function-tp4639434.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list