[R] selection of outputs from the function
ufuk beyaztas
ufukbeyaztas at gmail.com
Fri Dec 24 17:56:20 CET 2010
Hi Dear All,
This is a function which contains Covariance Ratio and Likelihood Distance
values (CVRi, LDi). i want to compute the all row's values, that is run this
function for nrow(X) times. The X and Y matrices are;
X<-matrix(c(1125,920,835,1000,1150,990,840,650,640,583,570,570,510,555,460,275,510,165,244,79,232,268,271,237,192,202,184,200,180,165,151,171,243,147,286,198,196,210,327,334,7160,8804,8108,6370,6441,5154,5896,5336,5041,5012,4825,4391,4320,3709,3969,3558,4361,3301,2964,2777,85.9,86.5,85.2,83.8,82.1,79.2,81.2,80.6,78.4,79.3,78.7,78.0,72.3,74.9,74.4,72.5,57.7,71.8,72.5,71.9,8905,7388,5348,8056,6960,5690,6932,5400,3177,4461,3901,5002,4665,4642,4840,4479,4200,3410,3360,2599),nrow=20)
Y<-matrix(c(1.5563,0.8976,0.7482,0.7160,0.3130,0.3617,0.1139,0.1139,-0.2218,-0.1549,0.0000,0.0000,-0.0969,-0.2218,-0.3979,-0.1549,-0.2218,-0.3979,-0.5229,-0.0458),nrow=20)
theta <- function(X,Y) {
B.cap <- solve(t(X)%*%X)%*%t(X)%*%Y
P <- X%*%solve(t(X)%*%X)%*%t(X)
Y.cap <- P%*%Y
e <- Y-Y.cap
var.cap<-(t(e)%*%e)/(nrow(X)-ncol(X)-1)
ei <- Y[i,]-X[i,]%*%B.cap
pi <- P[i,i]
var.cap.i <-
(((nrow(X)-ncol(X)-1)*var.cap)/(nrow(X)-ncol(X)-2))-(ei^2/((nrow(X)-ncol(X)-2)*(1-pi)))
ti <- ei/(sqrt(var.cap)*sqrt(1-pi))
ti.star <- ei/(sqrt(var.cap.i)*sqrt(1-pi))
X.star <- cbind(X,Y)
pi.star <- pi+(ei^2/(t(e)%*%e))
LDi <- nrow(X)*log(((nrow(X))/(nrow(X)-1))*(((nrow(X)-ncol(X)-2))/
(ti.star^2+nrow(X)-ncol(X)-2)))+((ti.star^2*(nrow(X)-1))/((1-pi)*(nrow(X)-ncol(X)-2)))-1
CVRi <- (((nrow(X)-ncol(X)-1-ti^2)/(nrow(X)-ncol(X)-2))^(nrow(X)))/(1-pi)
list(ti=ti,ti.star=ti.star,pi=pi,pi.star=pi.star,LDi=LDi,CVRi=CVRi) }
obj<-list()
for(i in 1:nrow(X)){
X<-X
Y<-Y
out<-theta(X,Y)
obj<-c(obj,list(out))}
obj
Finally i get values...
Is there any way to get the outputs as a list or data.frame like
pi CVRi
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
10 10 10
11 11 11
12 12 12
13 13 13
14 14 14
15 15 15
16 16 16
17 17 17
18 18 18
19 19 19
20 20 20
for all values (pi,pi.star,ti,ti.star,CVRi,LDi)...
Thanks so much for any idea !
--
View this message in context: http://r.789695.n4.nabble.com/selection-of-outputs-from-the-function-tp3163361p3163361.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list