我知道.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)? –