Z <- .Fortran("kmns", as.double(x), as.integer(m),
as.integer(ncol(x)),
centers = as.double(centers),
as.integer(k), c1 = integer(m), integer(m),
nc = integer(k), double(k), double(k), integer(k),
double(m), integer(k), integer(k),
as.integer(iter.max), wss = double(k),
ifault = as.integer(0), PACKAGE="stats")
它的意思表明调用fortran代码编写的kmns函数。下面即为kmns的函数头定义:
SUBROUTINE KMNS(A, M, N, C, K, IC1, IC2, NC, AN1, AN2, NCP, D,
* ITRAN, LIVE, ITER, WSS, IFAULT)
我不明白的地方有两个:
第一、调用函数中的参数as.double或是as.integer(),这个as代表什么意思,为什么有些参数有as,有些参数没有as
第二、调用函数中的参数与fortran代码的kmns函数中参数是按顺序一一对应的吧,也即是说会为kmns函数中的参数赋初值,我理解的对不?
再次求教达人。
[此贴子已经被作者于2009-3-21 23:44:34编辑过]