我知道.Fortran
下面的代码调用Fortran子程序,但为什么我们在这里使用C_
作为子程序名?很少有其他子程序调用的例子,我看着互联网只是"stl"
,有人可以请帮我为什么C_stl
而不是stl
?R调用Fortran子程序
z <- .Fortran(C_stl, x, n,
as.integer(period),
as.integer(s.window),
as.integer(t.window),
as.integer(l.window),
s.degree, t.degree, l.degree,
nsjump = as.integer(s.jump),
ntjump = as.integer(t.jump),
nljump = as.integer(l.jump),
ni = as.integer(inner),
no = as.integer(outer),
weights = double(n),
seasonal = double(n),
trend = double(n),
double((n+2*period)*5))
子程序不叫'C_stl'。 'C_stl'是一个包含Fortran子例程名字的变量。所以如果你想调用子程序'stl',可以使用''stl“'或者设置'C_stl < - ”stl“'并使用变量'C_stl'。 – Bhas
@Bhas:这是理解,但是当我查看链接https://svn.r-project.org/R/trunk/src/library/stats/R/stl.R中的代码时,我看不到任何作业就像你说的那样,但我是正面的C_Stl,从https://svn.r-project.org/R/trunk/src/library/stats/src/stl.f调用stl.f。 – kosa
不知道答案,但(1)'C_stl' [只出现在这个地方的代码库中](https://github.com/wch/r-source/search?q=C_stl&ref=cmdform) ; (2)可能与[this]有关(https://github.com/wch/r-source/search?q=F77_SUB%28stl%29&type=Code)? –