Python knn中的r错误:外部函数调用中的NA/NaN/Inf(arg 6)

Python knn中的r错误:外部函数调用中的NA/NaN/Inf(arg 6),python,r,twitter,Python,R,Twitter,我通过应用SVM、NB和kNN来分析推文,以了解推文是正面的、负面的还是中性的,为此,我有80704条推文,但出于测试目的,我只分析2847条推文,它具有以下特征 > str(total.tweets.score) 'data.frame': 2847 obs. of 3 variables: $ score : int 0 1 1 -2 0 0 1 2 -2 0 ... $ text : Factor w/ 1790 levels " st

我通过应用SVM、NB和kNN来分析推文,以了解推文是正面的、负面的还是中性的,为此,我有80704条推文,但出于测试目的,我只分析2847条推文,它具有以下特征

> str(total.tweets.score)
'data.frame':   2847 obs. of  3 variables:
 $ score         : int  0 1 1 -2 0 0 1 2 -2 0 ...
 $ text          : Factor w/ 1790 levels "  st century is the era of knowledge and information which will change the way countries develop says",..: 1717 129 996 1072 682 795 524 132 143 773 ...
 $ Negative      : Factor w/ 2 levels "FALSE","TRUE": 1 1 1 2 1 1 1 1 2 1 ...
问题是,当我将数据分为训练数据和测试数据时,它对SVM和NB有效,但在应用kNN时会给出错误,下面是我如何分割数据

total.tweets.score.train <- total.tweets.score[1:1993,]
total.tweets.score.test  <- total.tweets.score[1994:2847, ]
NB型号:

nb.classifier <- naiveBayes(twitter.train , total.tweets.score.train$Negative)
这里的
twitter.train
twitter.test
都是文档术语矩阵,而
kn.train.data.target
是因子

当我运行kNN代码时,我收到以下错误

Error in knn(twitter.train, twitter.test, knn.train.data.target, k = 3,  : 
  NA/NaN/Inf in foreign function call (arg 6)
In addition: Warning messages:
1: In knn(twitter.train, twitter.test, knn.train.data.target, k = 3,  :
  NAs introduced by coercion
2: In knn(twitter.train, twitter.test, knn.train.data.target, k = 3,  :
  NAs introduced by coercion

请帮我做什么?

这是我的DTM的结构

> str(total.tweets.dtm)
List of 6
 $ i       : int [1:22041] 1 1 1 1 1 1 1 1 1 1 ...
 $ j       : int [1:22041] 138 163 617 1417 1852 1899 2534 2727 2792 3234 ...
 $ v       : num [1:22041] 1 1 1 1 1 1 1 1 1 1 ...
 $ nrow    : int 2847
 $ ncol    : int 4232
 $ dimnames:List of 2
  ..$ Docs : chr [1:2847] "character(0)" "character(0)" "character(0)" "character(0)" ...
  ..$ Terms: chr [1:4232] "#cpec" "aabpara" "aaj" "aakhir" ...
 - attr(*, "class")= chr [1:2] "DocumentTermMatrix" "simple_triplet_matrix"
 - attr(*, "weighting")= chr [1:2] "term frequency" "tf"

文档术语矩阵的结构是什么?你能把结构和可能的几行贴出来吗?(这将是使您的问题重现的唯一方法。谢谢。
Error in knn(twitter.train, twitter.test, knn.train.data.target, k = 3,  : 
  NA/NaN/Inf in foreign function call (arg 6)
In addition: Warning messages:
1: In knn(twitter.train, twitter.test, knn.train.data.target, k = 3,  :
  NAs introduced by coercion
2: In knn(twitter.train, twitter.test, knn.train.data.target, k = 3,  :
  NAs introduced by coercion
> str(total.tweets.dtm)
List of 6
 $ i       : int [1:22041] 1 1 1 1 1 1 1 1 1 1 ...
 $ j       : int [1:22041] 138 163 617 1417 1852 1899 2534 2727 2792 3234 ...
 $ v       : num [1:22041] 1 1 1 1 1 1 1 1 1 1 ...
 $ nrow    : int 2847
 $ ncol    : int 4232
 $ dimnames:List of 2
  ..$ Docs : chr [1:2847] "character(0)" "character(0)" "character(0)" "character(0)" ...
  ..$ Terms: chr [1:4232] "#cpec" "aabpara" "aaj" "aakhir" ...
 - attr(*, "class")= chr [1:2] "DocumentTermMatrix" "simple_triplet_matrix"
 - attr(*, "weighting")= chr [1:2] "term frequency" "tf"