Hello! I would like to convert rows of a matrix to a elements of a list. #For example, if I have mat<-matrix(1:100,ncol=5, nrow=20) #I can do: list<-apply(mat,1,list) list #however this is not quite what I want. To get what I want, I have to do: list<-lapply(list,function(x)x[[1]]) list Is there a faster way? Best regards, Ales Ziberna
Perhaps something like:
as.list(as.data.frame(t(mat)))
Andy
From: Ale?? ??iberna>
> Hello!
>
> I would like to convert rows of a matrix to a elements of a list.
>
> #For example, if I have
> mat<-matrix(1:100,ncol=5, nrow=20)
>
> #I can do:
> list<-apply(mat,1,list)
> list
> #however this is not quite what I want. To get what I want, I
> have to do:
> list<-lapply(list,function(x)x[[1]])
> list
>
> Is there a faster way?
>
> Best regards,
> Ales Ziberna
>
> ______________________________________________
> 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
>
>
Thanks to all, especially to Patrick Burns, who's solution is the fastest! Best regards, Ales Patrick Burns pravi:> Untried, but does this work for you: > > split(mat, row(mat)) > > Patrick Burns > patrick at burns-stat.com > +44 (0)20 8525 0696 > http://www.burns-stat.com > (home of S Poetry and "A Guide for the Unwilling S User") > > Ale? ?iberna wrote: > >> Hello! >> >> I would like to convert rows of a matrix to a elements of a list. >> >> #For example, if I have >> mat<-matrix(1:100,ncol=5, nrow=20) >> >> #I can do: >> list<-apply(mat,1,list) >> list >> #however this is not quite what I want. To get what I want, I have to >> do: >> list<-lapply(list,function(x)x[[1]]) >> list >> >> Is there a faster way? >> >> Best regards, >> Ales Ziberna >> >> ______________________________________________ >> 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 >> >> >> >> >> > >