我正在尝试将一些旧的Python代码从Rpy1更新到Rpy2,但是有几行代码我无法运行而不出错:
result = rpy.r.kmeans(datnorm, cls, kmeans_iterations, kmeans_nstart)
sse = sum(result['withinss'])我将Rpy依赖项更新为Rpy2,并重构了这段代码,以使用Rpy2 importr加载R stats模块和kmeans函数。更改后的代码如下所示:
result = rstats.kmeans(matnorm, cls, kmeans_iterations, kmeans_nstart)
sse = sum(result['withinss'])当这段代码运行时,我得到这个错误:
TypeError: Indices must be integers or slices, not <class 'str'>我理解这是说我不能使用字符串作为索引,因为kmeans返回一个整数向量。如果结果不是字典,如何获取withinss值?
发布于 2021-03-05 11:06:18
.rx2()可能就是您想要的:
result.rx2('withinss')(参见https://rpy2.github.io/doc/v3.4.x/html/vector.html#extracting-r-style)
https://stackoverflow.com/questions/66484095
复制相似问题