我正在尝试修改stats::kmeans
函数以返回迭代次数(请参见此处)。当我将源代码复制到我自己的文件中,修改函数并运行它时,我C_kmns
在尝试执行do_one
函数时收到关于对象丢失的错误。这个对象被传递给一个.Fortran
调用,并且没有在kmeans
函数的任何地方创建。这个物体是从哪里来的?
我得到的错误是
Error in do_one(nmeth) : object 'C_kmns' not found
这是“违规”调用的代码片段。
do_one <- function(nmeth) {
Z <-
switch(nmeth,
{ # 1
Z <- .Fortran(C_kmns, as.double(x), as.integer(m),
as.integer(ncol(x)),
...