首页 > 解决方案 > 如何使用RecommenderRegistry$get_entries() 修复无效的多字节字符串错误?

问题描述

我正在尝试“recommenderlab”包,并在使用RecommenderRegistry$get_entries() 函数时遇到错误。

为了获取有关推荐算法的信息,我尝试了

library(recommenderlab)  
recommenderRegistry$get_entries()

但是输出在中间被截断,如下所示。

$AR_binaryRatingMatrix
Recommender method: AR for binaryRatingMatrix
Description: Recommender based on association rules.
Reference: NA
Parameters:
Error in dput(p, control = list()) : 
  invalid multibyte string at '<ff><fe><63><6f>nfidence<ff><fe>"

当我尝试

names(recommenderRegistry[["AR", "binaryRatingMatrix"]][['parameters']])

所有参数均显示无误。

[1] "support"         "confidence"      "maxlen"          "sort_measure"    "sort_decreasing" "apriori_control" "verbose"        

另外,我尝试重新安装它,但结果是一样的。RecommendationerRegistry$get_entries() 应该显示此包中可用的 15 种算法。有没有人遇到过类似的问题?

系统信息如下
R version 3.6.1 (2019-07-05)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale: [1] LC_COLLATE=Korean_Korea.949 [2] LC_CTYPE=Korean_Korea.949 [3] LC_MONETARY=Korean_Korea.949 [4] LC_NUMERIC=C [5] LC_TIME=Korean_Korea.949
附加基本包:[1] 统计图形 grDevices utils 数据集
通过命名空间加载的 方法库(未附加):[1] compiler_3.6.1 tools_3.6.1 [3] yaml_2.2.0

标签: rrecommenderlab

解决方案


看起来您的问题可能是您的语言环境设置:

locale: [1] LC_COLLATE=Korean_Korea.949 [2] LC_CTYPE=Korean_Korea.949 [3] LC_MONETARY=Korean_Korea.949 [4] LC_NUMERIC=C [5] LC_TIME=Korean_Korea.949

你可以试试Sys.setlocale("LC_ALL", "C")


推荐阅读