Thanks for the kind help!
               Hannah

2010/10/14 Brian Diggs <diggsb@ohsu.edu>

>  On 10/14/2010 2:53 PM, li li wrote:
>
>> Dear all,
>>   I have a function f(x)  which return a list as result.
>>
>> $T1
>> [1] 0.03376190
>> $T2
>> [1] 0.04725
>> $T3
>> [1] 0.3796071
>> $T4
>> [1] 0.3713452
>> $T5
>> [1] 0.4523651
>> $T6
>> [1] 0.4575873
>>
>>   I now find the result for a vector of x values at one time. I want to
>> store the reuslt
>> for each xi value in a column of a matrix
>>
>> x<- seq(0,1, by=0.1)
>> result<- matrix(0, nrow=6, ncol=length(x))
>>
>> for (i in 1:length(x)){result[,i]<- f(x[i])}
>>
>> It is not working. Can some help me.
>> Thank you very much!
>>                         Hannah
>>
>
> In order to test my solution, I needed a function that returned something
> of the structure you had.
>
> f <- function(x) {
>        r <- as.list(rnorm(6))
>        names(r) <- paste("T",1:6,sep="")
>        r
> }
>
> Using that, you can replace the for loop with:
>
> for (i in 1:length(x)){result[,i] <- unlist(f(x[i]))}
>
> The problem is that f returns a list; you can only put a vector in part of
> a matrix.  unlist() takes care of that conversion.
>
> --
> Brian S. Diggs, PhD
> Senior Research Associate, Department of Surgery
> Oregon Health & Science University
>

	[[alternative HTML version deleted]]

