参数的无效 'type'(字符)
invalid 'type' (character) of argument
是关于题目的错误信息。当我尝试 运行 naive.bayes 分类器时出现此错误。这是我的火车数据摘要:
'data.frame': 7269 obs. of 193 variables:
$ pid : int 2 4 5 7 10 11 14 18 25 31 ...
$ acquir : int 0 0 0 0 1 1 0 0 0 0 ...
$ addit : int 0 0 0 0 2 2 0 0 0 0 ...
$ agre : int 0 0 0 0 0 0 0 0 0 0 ...
$ agreement : int 0 0 0 0 0 0 0 0 0 0 ...
$ also : int 1 0 0 0 2 2 0 0 0 0 ...
$ american : int 0 0 0 0 0 0 0 0 0 0 ...
$ announc : int 0 0 0 0 0 0 0 0 0 0 ...
$ annual : int 0 0 0 0 0 0 0 0 2 0 ...
$ approv : int 0 3 0 0 0 0 0 0 0 0 ...
$ april : int 0 0 0 0 0 0 0 0 1 0 ...
$ bank : int 0 7 0 0 0 0 0 0 0 0 ...
$ base : int 0 0 0 0 0 0 0 0 0 0 ...
.
.
$... all of them are integer, except the class column
.
.
$ class : Factor w/ 10 levels "acq","corn","crude",..: 1 1 4 4 9 1 4 3 1 4 ...
这是 naive.bayes()
行:
model <- naiveBayes(as.factor(class) ~ ., data = as.matrix(train), laplace = 3)
谁能告诉我为什么会这样?:
Error in sum(x) : invalid 'type' (character) of argument
由于 as.matrix(train)
,您的数据最终被转换为字符。尝试
model <- naiveBayes(class ~ ., data=train, laplace = 3)
或最终
model <- naiveBayes(train$class ~ ., data=train[, -c("class")], laplace = 3)
第二个变体与第一个变体大致相同。公式RHS中的.
展开为'all other variables';因此它排除了 LHS 中提到的列 class
。 (更多信息在 formula
的文档中)
是关于题目的错误信息。当我尝试 运行 naive.bayes 分类器时出现此错误。这是我的火车数据摘要:
'data.frame': 7269 obs. of 193 variables:
$ pid : int 2 4 5 7 10 11 14 18 25 31 ...
$ acquir : int 0 0 0 0 1 1 0 0 0 0 ...
$ addit : int 0 0 0 0 2 2 0 0 0 0 ...
$ agre : int 0 0 0 0 0 0 0 0 0 0 ...
$ agreement : int 0 0 0 0 0 0 0 0 0 0 ...
$ also : int 1 0 0 0 2 2 0 0 0 0 ...
$ american : int 0 0 0 0 0 0 0 0 0 0 ...
$ announc : int 0 0 0 0 0 0 0 0 0 0 ...
$ annual : int 0 0 0 0 0 0 0 0 2 0 ...
$ approv : int 0 3 0 0 0 0 0 0 0 0 ...
$ april : int 0 0 0 0 0 0 0 0 1 0 ...
$ bank : int 0 7 0 0 0 0 0 0 0 0 ...
$ base : int 0 0 0 0 0 0 0 0 0 0 ...
.
.
$... all of them are integer, except the class column
.
.
$ class : Factor w/ 10 levels "acq","corn","crude",..: 1 1 4 4 9 1 4 3 1 4 ...
这是 naive.bayes()
行:
model <- naiveBayes(as.factor(class) ~ ., data = as.matrix(train), laplace = 3)
谁能告诉我为什么会这样?:
Error in sum(x) : invalid 'type' (character) of argument
由于 as.matrix(train)
,您的数据最终被转换为字符。尝试
model <- naiveBayes(class ~ ., data=train, laplace = 3)
或最终
model <- naiveBayes(train$class ~ ., data=train[, -c("class")], laplace = 3)
第二个变体与第一个变体大致相同。公式RHS中的.
展开为'all other variables';因此它排除了 LHS 中提到的列 class
。 (更多信息在 formula
的文档中)