R,kmodes()应用程序中的错误文本矩阵

时间:2015-09-24 13:50:04

标签: r cluster-analysis

我正在尝试将R中的kmodes clustering方法(来自klaR包)应用到由大约1000个字符串和6列组成的文本矩阵中。 不幸的是,我得到了一个我无法理解的错误:

kmodes(mat, 5, iter.max=10)
Error in cluster[j] <- which.min(dist) : replacement has length zero

您对此为何发生了什么想法?

编辑:这是头(垫):

1       aaa      ccc         iii         <NA>             0
2       aaa      ddd         kkk         <NA>             0
3       aaa      eee        -273         <NA>             0
4       aaa      fff         lll         <NA>             0
5       bbb      ggg          67         <NA>             0
6       bbb      hhh         mmm         <NA>             0

2 个答案:

答案 0 :(得分:1)

您可以很好地使用kmodes(na.omit(mat), 5, iter.max = 10),但这会导致数据丢失,这是不可理解的。 您可以检查summary(mat)以查找缺失数据或NA值,然后使用随机插补替换它们。

dataframeName$variable <- with(dataframeName, impute(variable, 'random'))

如果您在列/变量中有太多NA值,那么您也可以忽略该列。 查看链接: - https://discuss.analyticsvidhya.com/t/how-to-handle-missing-values-of-categorical-variables/310

答案 1 :(得分:0)

我有同样的错误。这似乎是由于缺少数据。首先从数据中删除丢失的数据,例如使用kmodes(na.omit(mat), 5, iter.max=10)