我正在使用函数 system.time() 并且我发现了一些令我惊讶的东西。我经常使用分配符号“=”而不是“<-”。我知道大多数 R 用户使用“<-”,但我认为“=”在我的代码中更清晰。因此,我使用“=”在函数 system.line() 中分配一个值,并出现以下错误消息:Error: unexpected '=' in "system.time(a[,1] ="
这是代码:
a = matrix(1, nrow = 10000)
require(stats)
system.time(a[,1] = a[,1]*2) #this line doesn't work
#Error: unexpected '=' in "system.time(a[,1] ="
system.time(a[,1] = a[,1]*2) #this line works
system.time(for(i in 1:100){a[,1] = a[,1]*i}) #this line works!!!!
我发现:“=”和“<-”之间是否存在技术差异,这解释了我不能在函数中使用“=”进行分配,因为它是在函数中分配参数的符号。但我惊讶地发现它有时可以工作(见下面的代码)。
有谁知道它为什么在这里工作?(这也是为什么它在第一种情况下不起作用,因为我猜 a[,1] 不是函数 system.time() 的参数...)
非常感谢你。埃德温。