Rom*_*rik 5 r cluster-analysis k-means
我正在尝试修改stats::kmeans函数以返回迭代次数(请参阅此处).当我将源复制到我自己的文件,修改该函数并运行它时,我C_kmns在尝试执行该do_one函数时收到有关对象丢失的错误.此对象将传递给.Fortran调用,并且不会在kmeans函数中的任何位置创建.这个对象来自哪里?
我得到的错误是
Error in do_one(nmeth) : object 'C_kmns' not found
Run Code Online (Sandbox Code Playgroud)
这是"冒犯"电话的代码片段.
do_one <- function(nmeth) {
Z <-
switch(nmeth,
{ # 1
Z <- .Fortran(C_kmns, as.double(x), as.integer(m),
as.integer(ncol(x)),
...
Run Code Online (Sandbox Code Playgroud)
C_kmns是stats命名空间中的非导出对象.您可以通过使用stats ::: C_kmns告诉R在哪里找到它来解决问题.在你的例子中:
Z <- .Fortran(stats:::C_kmns, as.double(x), as.integer(m),
as.integer(ncol(x)),
...
Run Code Online (Sandbox Code Playgroud)
一般来说,当你找到一个没有找到对象的错误时,你可以去寻找它 getAnywhere("C_kmns")