是这样,我一开始碰到了这样的问题:首先声明变量test<-NULL;
然后用lapply进行计算的时候需要计数,里面有一句test<-i+nrow(f),这里面i和nrow(f)是lapply这个函数里面的变量;
lapply跑完后我需要看看test到底是多少,但是这个时候输出test的时候还是NULL。
我在想这个是不是就是没有声明test是全局变量?那么在R语言中如何声明全局变量呢?
再就是,我后面在测试这件事的时候,发现这样一个有趣的问题:
l<-list(a=1:3,b=2:6)
c<-lapply(l,function(ll){
b<-3
ll+3
})
这样输出的话,
> c
$a
[1] 4 5 6
$b
[1] 5 6 7 8 9
并且找不到b。
但是如果我把lapply里面的语句掉一个顺序:
l<-list(a=1:3,b=2:6)
c<-lapply(l,function(ll){
ll+3
b<-3
})
c的输出就变成了:
> c
$a
[1] 3
$b
[1] 3
仍然找不到b。
这是为什么呢?
求教,谢谢!!!


雷达卡



京公网安备 11010802022788号







