R:使用knncat对分类变量进行分类时出错

新手1104

我有一个包含4列的数据集,其中2列是数字的,1列是分类的,1列是标签。标签有13个级别(从A到M)。我尝试在R中使用knncat包进行分类,但是每次运行代码时,都会收到以下错误消息:

Error in `[<-.data.frame`(`*tmp*`, factor.vars, value = c("M", "J", "K",  : 
 replacement has 45500 rows, data has 1

以下是我使用的代码:

data <- read.csv('mosaic_data2.csv', header = T)
num <- dim(data)[1]

library(sampling)
set.seed(1234)
train_index <- sample(seq(1,num,1), floor(num * 0.7), replace = F)
test_index <- setdiff(seq(1,num,1), train_index)

train_data <- data[train_index,]
test_data <- data[test_index,]

library(knncat)
model <- knncat(train_data, classcol = 2)

任何人都可以看一下代码,并建议我如何消除此错误?非常感谢你!

dput(head(data,100))的输出如下:

structure(list(latitude = c(52.7326028, 52.74287543, 52.82107841, 
52.82025363, 52.81980596, 52.81721897, 52.81274172, 52.81274172, 
52.8089586, 52.81424219, 52.8089586, 52.74007929, 52.77394023, 
52.73659034, 52.73672518, 52.73764626, 52.73753744, 52.73659034, 
52.73815233, 52.73679388, 52.73890319, 52.71697237, 52.63730282, 
52.62720385, 52.63730282, 52.63543017, 52.63768035, 52.63510366, 
52.6346578, 52.6346578, 52.6346578, 52.63447454, 52.63576418, 
52.63447454, 52.6346578, 52.63447454, 52.69820719, 52.69603926, 
52.68246919, 52.54600173, 52.54210198, 52.60628983, 52.61003275, 
52.60278236, 52.60239604, 52.60348688, 52.60239604, 52.60382146, 
52.60315644, 52.86047938, 52.86576353, 52.86954228, 52.81039471, 
52.82094872, 52.82395073, 52.82444705, 52.88098384, 52.88469208, 
52.88469208, 52.84979201, 52.84720159, 52.84831759, 52.82435938, 
52.82319493, 52.82168337, 52.8230402, 52.8230402, 52.82513486, 
52.82472379, 52.82756385, 52.82475438, 52.82434902, 52.82166611, 
52.823712, 52.82401481, 52.82483489, 52.82103704, 52.82060763, 
52.8208682, 52.82211317, 52.81868547, 52.8198332, 52.82023595, 
52.81989134, 52.8196971, 52.82051066, 52.82463338, 52.82539131, 
52.82580625, 52.82509199, 52.83759415, 52.83946254, 52.83946254, 
52.83891871, 52.83821538, 52.84757879, 52.84663773, 52.8449371, 
52.84592185, 52.84331619), longitude = c(-6.892397941, -6.915346343, 
-6.922554014, -6.924997835, -6.926099967, -6.883340697, -6.897757597, 
-6.897757597, -6.895500952, -6.883129556, -6.895500952, -6.703781864, 
-6.680851783, -6.771845364, -6.773301282, -6.772958488, -6.77484647, 
-6.771845364, -6.773422218, -6.772164896, -6.770622695, -6.784187251, 
-6.901922588, -6.905109015, -6.901922588, -6.976679508, -6.973114498, 
-6.974753462, -6.947990431, -6.947990431, -6.947990431, -6.976921427, 
-6.958295227, -6.976921427, -6.947990431, -6.976921427, -6.902010609, 
-6.915233457, -6.871160885, -6.832461149, -6.862126342, -6.943925285, 
-6.93813643, -6.925128034, -6.932247524, -6.93461305, -6.932247524, 
-6.934657053, -6.929283954, -6.845259603, -6.861188287, -6.866476268, 
-6.940851164, -6.939203401, -6.930506188, -6.933317462, -6.929441954, 
-6.922589037, -6.922589037, -6.926037258, -6.929423169, -6.917829279, 
-6.938211918, -6.940658091, -6.940651748, -6.940107883, -6.940107883, 
-6.938704642, -6.939084526, -6.933331264, -6.937496468, -6.937678962, 
-6.940276221, -6.94018054, -6.939876475, -6.938983181, -6.934235666, 
-6.93387209, -6.933134226, -6.934193569, -6.934383596, -6.933832641, 
-6.937454656, -6.933818238, -6.93443811, -6.936913947, -6.920030341, 
-6.920400963, -6.92215006, -6.910771124, -6.901500591, -6.899018998, 
-6.899018998, -6.903007684, -6.90119821, -6.91063672, -6.909935672, 
-6.90240965, -6.900066763, -6.901411136), mosaic_group = structure(c(10L, 
10L, 8L, 8L, 8L, 7L, 7L, 7L, 7L, 7L, 7L, 10L, 10L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
12L, 12L, 12L, 12L, 12L, 12L, 10L, 10L, 10L, 13L, 13L, 13L, 13L, 
9L, 6L, 6L, 6L, 6L, 6L, 10L, 8L, 8L, 9L, 9L, 9L, 9L, 7L, 7L, 
7L, 9L, 9L, 9L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 8L, 8L, 8L, 8L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 8L, 
6L, 6L, 6L, 6L, 6L, 8L, 8L, 10L, 10L, 10L), .Label = c("A", "B", 
"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"), class = "factor"), 
small_code = c(1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 
4L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 8L, 8L, 8L, 9L, 
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 11L, 
11L, 12L, 12L, 13L, 14L, 14L, 14L, 14L, 14L, 15L, 16L, 16L, 
17L, 17L, 18L, 18L, 19L, 19L, 19L, 20L, 20L, 20L, 21L, 21L, 
21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 
22L, 22L, 22L, 22L, 23L, 23L, 23L, 23L, 23L, 23L, 24L, 24L, 
24L, 25L, 26L, 26L, 26L, 26L, 26L, 27L, 27L, 28L, 28L, 28L
)), .Names = c("latitude", "longitude", "mosaic_group", "small_code"
), row.names = c(NA, 100L), class = "data.frame")    
格莱格

该函数knncat::knncat接受classcol定义为的参数

列中带有分类的列。默认值:1。

您有一个具有以下结构的数据集:

  latitude longitude mosaic_group small_code
1 52.73260 -6.892398            J          1
2 52.74288 -6.915346            J          1
3 52.82108 -6.922554            H          2
4 52.82025 -6.924998            H          2
5 52.81981 -6.926100            H          2
6 52.81722 -6.883341            G          3

因此,classcol = 3我假设您的论点应该是(或4),但我们可以肯定地认为它不应该是classcol = 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Matlab中使用parfor时出错//无法对parfor中的变量进行分类

来自分类Dev

使用jaccard相似度对分类数据进行聚类

来自分类Dev

进行多类分类时 Keras 出错

来自分类Dev

如何对分类数据进行插值

来自分类Dev

R:基于多个变量对记录进行分类

来自分类Dev

使用分类数据进行回归时发现未知分类

来自分类Dev

使用 Keras ValueError 进行多类分类:检查目标时出错:

来自分类Dev

对多标签分类进行交叉验证时出错

来自分类Dev

训练CNN进行二进制分类时出错

来自分类Dev

测试SVM分类器以进行文本分类时出错

来自分类Dev

无法使用R对数据进行分类

来自分类Dev

如何使用R循环对范围进行分类?

来自分类Dev

R:“ Binning”分类变量

来自分类Dev

使用NNET进行分类

来自分类Dev

使用SVM进行分类

来自分类Dev

使用RAT的分类栅格在R中实现级别图时出错

来自分类Dev

熊猫:是否可以对分类列进行下采样?

来自分类Dev

分类问题,对分类的POST导致错误

来自分类Dev

使用带有分类变量的r输出中的lm()进行多元线性回归是不完整的?

来自分类Dev

在应用分类算法之前,对分类数据进行预处理的方式有哪些?

来自分类Dev

Case_when使用sum对数据进行分类时-R / dplyr解决方案

来自分类Dev

Case_when使用sum对数据进行分类时-R / dplyr解决方案

来自分类Dev

在新因子(分类)变量上使用rpart进行预测

来自分类Dev

使用生命线和分类变量进行Cox回归

来自分类Dev

使用case_when按日期范围对变量进行分类?

来自分类Dev

使用带有插入符号包的分类变量进行knnImpute

来自分类Dev

在 Case 语句中使用 Count 条件对变量进行分类

来自分类Dev

试图对疾病进行分类,但输出错误

来自分类Dev

R中的分类日期变量

Related 相关文章

  1. 1

    在Matlab中使用parfor时出错//无法对parfor中的变量进行分类

  2. 2

    使用jaccard相似度对分类数据进行聚类

  3. 3

    进行多类分类时 Keras 出错

  4. 4

    如何对分类数据进行插值

  5. 5

    R:基于多个变量对记录进行分类

  6. 6

    使用分类数据进行回归时发现未知分类

  7. 7

    使用 Keras ValueError 进行多类分类:检查目标时出错:

  8. 8

    对多标签分类进行交叉验证时出错

  9. 9

    训练CNN进行二进制分类时出错

  10. 10

    测试SVM分类器以进行文本分类时出错

  11. 11

    无法使用R对数据进行分类

  12. 12

    如何使用R循环对范围进行分类?

  13. 13

    R:“ Binning”分类变量

  14. 14

    使用NNET进行分类

  15. 15

    使用SVM进行分类

  16. 16

    使用RAT的分类栅格在R中实现级别图时出错

  17. 17

    熊猫:是否可以对分类列进行下采样?

  18. 18

    分类问题,对分类的POST导致错误

  19. 19

    使用带有分类变量的r输出中的lm()进行多元线性回归是不完整的?

  20. 20

    在应用分类算法之前,对分类数据进行预处理的方式有哪些?

  21. 21

    Case_when使用sum对数据进行分类时-R / dplyr解决方案

  22. 22

    Case_when使用sum对数据进行分类时-R / dplyr解决方案

  23. 23

    在新因子(分类)变量上使用rpart进行预测

  24. 24

    使用生命线和分类变量进行Cox回归

  25. 25

    使用case_when按日期范围对变量进行分类?

  26. 26

    使用带有插入符号包的分类变量进行knnImpute

  27. 27

    在 Case 语句中使用 Count 条件对变量进行分类

  28. 28

    试图对疾病进行分类,但输出错误

  29. 29

    R中的分类日期变量

热门标签

归档