• R语言
  • 如何用循环生成一个list

list(a1=0.0,a2=0.0,...,an=0.0)



其中的n是未知的,通过前面给出后可以自动的生成这样的list?





想在nls中的start中给我的一个y~a0+a1*x1+a2*x2+...+an*xn的a0~an赋初值。





有什么好的方法没有?

已经解决了,方法如下:

x<-rep(0,n)

names(x)<-paste("a",c(1:n),sep="")

as.list(x)



即可
又有了一个新的问题:如何将一个矩阵中的元素按照列解包?比如:

x1 x2

1 2

3 4

4 4



产生两个list:

x1和x2



对应上面的两列
<br />
as.list.data.frame(as.data.frame.matrix(matrix.obj))<br />
[quote]引用第3楼pengchy于2009-08-03 20:38发表的  :
<br />
as.list.data.frame(as.data.frame.matrix(matrix.obj))<br />


[/quote]

请教下,这里的as.data.frame(目标矩阵)和as.data.frame.matrix(目标矩阵)是没有区别的吧?
如果你的对象是matrix那就是一样的,as.data.frame是更general的函数,它的对象可以是list, matrix,当是matrix时,实际上调用的还是as.data.frame.matrix函数。这个是面向对象编程里的方法重载。