r - 'sort.list'的'x'必须是原子的。您是否在列表中调用了 'sort'?与knn.cv

标签 r compiler-errors cross-validation knn

我不确定为什么会收到此错误,我正在尝试使用knn运行交叉验证。

我就是这样

knn.cv(trainingDigit,label,k=1)

我的trainingDigit包括
str(trainingDigit)
    List of 10
     $ : num [1:400, 1:324] 1 1 0.969 1 0.992 ...
     $ : num [1:400, 1:324] 1 1 1 1 0.831 ...
     $ : num [1:400, 1:324] 1 1 0.98 1 0.996 ...
     $ : num [1:400, 1:324] 1 1 1 1 1 ...
     $ : num [1:400, 1:324] 0.992 1 1 1 1 ...
     $ : num [1:400, 1:324] 0.961 1 1 1 1 ...
     $ : num [1:400, 1:324] 1 0.957 0.961 0.973 0.988 ...
     $ : num [1:400, 1:324] 1 1 1 1 0.937 ...
     $ : num [1:400, 1:324] 1 0.949 0.988 1 1 ...
     $ : num [1:400, 1:324] 1 1 1 0.984 1 ...

基本上只是数据..和标签包含
str(label)
List of 10
     $ : num [1:400] 0 0 0 0 0 0 0 0 0 0 ...
     $ : num [1:400] 1 1 1 1 1 1 1 1 1 1 ...
     $ : num [1:401] 2 2 2 2 2 2 2 2 2 2 ...
     $ : num [1:400] 3 3 3 3 3 3 3 3 3 3 ...
     $ : num [1:400] 4 4 4 4 4 4 4 4 4 4 ...
     $ : num [1:400] 5 5 5 5 5 5 5 5 5 5 ...
     $ : num [1:400] 6 6 6 6 6 6 6 6 6 6 ...
     $ : num [1:400] 7 7 7 7 7 7 7 7 7 7 ...
     $ : num [1:400] 8 8 8 8 8 8 8 8 8 8 ...
     $ : num [1:400] 9 9 9 9 9 9 9 9 9 9 ...

在trainingDigit中标记eas列表。但是当我运行它时,出现此错误
'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?

我不确定我理解为什么,这意味着什么。有人可以澄清一下这是什么意思吗?我必须做些什么来解决它?

最佳答案

我们可以使用Map在两个knn.cv的相应元素上应用list函数。

Map(function(x,y) knn.cv(x, y, k=1), trainingDigit, label)

我们还可以使用MoreArgs参数并删除匿名函数调用。
Map(knn.cv, trainingDigit, label, MoreArgs = list(k=1, prob=TRUE))

关于r - 'sort.list'的'x'必须是原子的。您是否在列表中调用了 'sort'?与knn.cv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687354/

相关文章:

c++ - 输入std::array [duplicate]时遇到麻烦

python - 属性错误 : 'module' object has no attribute 'new'

machine-learning - 如何使用 cross_val_score 来拟合我的测试数据?

python - 为什么我无法匹配 LGBM 的 cv 分数?

r - 如何在 R 中对多维面板数据运行回归

r - biotools R封装中的boxM测试

r - 在大型栅格时间序列中使用 moveFun 的最有效方法是什么?

Rselenium - 弹出窗口

python - 如何检测参数网格中允许哪些值?

c++ - 未在此范围内声明的函数和变量(c++)