[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