全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
869 4
2017-08-31
f<-list()
length(f)<-1511
for(i in 1:1511)
f[[i]]<-function(r)gamma(sigma[i])+2
其中sigma是个向量,这里我想根据sigma的每个值生成1511个函数,但是运行后f这个列表里每个元素都是一样的,这是为什么,每个元素都是function(r) gamma(sigma[i])+2有没有大神知道这是怎么回事
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-8-31 20:23:41
中国梦丶 发表于 2017-8-31 20:22
f<-list()
length(f)<-1511
for(i in 1:1511)
for循环下面的变量名是f[],上面没打上
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-2 09:55:57
我猜可能你是想写一个闭包,如

f<-function(y) {function(r) gamma(sigma[y])+2}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-2 12:25:50
中国梦丶 发表于 2017-8-31 20:22
f&amp;lt;-list()
length(f)&amp;lt;-1511
for(i in 1:1511)
在函数里i好像不起作用
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-6 15:53:02
function定义在外头,赋个值,然后for里面运行,记得加()
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群