试了一下,确实是这样,我的分析是这样的:
函数的参数不能用"<-"符号,否则不能识别。
在R里,对于函数的参数有几种的匹配方式,按顺序的依次是:
1.完整的参数名,像那个from = n, to = m;
2.部分匹配,seq(to = 30, from = 1)可以等价地写成seq(t = 30, f = 1),R虽然能识别,但个人不建议;
3.按参数的位置匹配,在seq()函数里,参数的顺序是seq(from, to, ...),如果不指定参数名,那么就是按默认的顺序来匹配参数的,比如seq(1,30)就等于seq(from=1,to=30)。
4.最后还是找不到匹配的参数就报错
对于这里的情形,to<-30,from<-1,这对于第一和第二步来说都不满足,所以就按照参数的顺序来匹配,由于from在to的前面,所以,其实seq(to <- 30, from <- 1)就是seq(30, 1),也就是seq(from = 30, to = 1),所以和seq(to = 30, from = 1)刚好是相反的