(list)对象不能被强制在r中输入'integer'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(list)对象不能被强制在r中输入'integer'相关的知识,希望对你有一定的参考价值。

我试图用naivebayes算法预测一个类。

数据结构是...... enter image description here

获取以下错误尝试预测值在此输入图像描述enter image description here

R代码:

library(naivebayes)
df = read.csv("mapingsample.csv")
str(df)

sf=sample(2,nrow(df),replace = TRUE,prob = c(0.9,0.1))
trd=df[sf==1,]
tsd=df[sf==2,]

nb=naive_bayes(RetailerName ~ .,data = trd)

predicteddata=predict(nb,newdata = tsd,type = "class")
predicteddata
bindprediction = cbind(tsd,predicteddata)
bindprediction

dput(DF)

        structure(list(RegionName = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L), .Label = "MUMBAI", class = "factor"), RetailerId = c(297L, 
297L, 297L, 297L, 297L, 297L, 297L, 297L, 297L, 297L, 297L, 297L, 
297L, 297L, 297L, 297L, 297L, 297L, 297L, 297L, 297L, 389L, 389L, 
389L, 389L, 389L, 389L, 389L, 389L, 389L, 389L, 389L, 389L, 389L, 
389L, 389L, 389L, 389L, 389L, 389L, 389L, 389L), RetailerName = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("BHAGWATI MEDICAL AND GENERAL STORES", 
"GOPALKRISHNA MEDICAL AND GENERAL STORE"), class = "factor"), 
    StoreId = c(37L, 86L, 87L, 88L, 99L, 117L, 133L, 147L, 332L, 
    546L, 579L, 604L, 628L, 675L, 713L, 744L, 806L, 1032L, 1138L, 
    1240L, 2035L, 37L, 54L, 61L, 69L, 82L, 86L, 87L, 88L, 138L, 
    170L, 341L, 472L, 487L, 604L, 605L, 624L, 634L, 1247L, 1376L, 
    1385L, 1571L), PartyCode = c(10086L, 6131L, 6131L, 6131L, 
    15977L, 8968L, 3078L, 6626L, 12910L, 279L, 6558L, 462L, 1583L, 
    1432L, 2772L, 21166L, 22015L, 17186L, 36121L, 972L, 59542L, 
    1207L, 1433L, 1887L, 31850L, 1404L, 4758L, 4758L, 4758L, 
    697L, 2947L, 179345L, 713L, 10697L, 576L, 1128L, 3339L, 3179L, 
    51822L, 2704L, 13059L, 60217L), PartyName = structure(c(12L, 
    15L, 15L, 15L, 14L, 1L, 11L, 5L, 13L, 8L, 10L, 6L, 13L, 2L, 
    7L, 4L, 8L, 3L, 16L, 9L, 12L, 23L, 20L, 28L, 31L, 26L, 24L, 
    24L, 24L, 21L, 22L, 27L, 29L, 21L, 32L, 20L, 30L, 27L, 25L, 
    17L, 18L, 19L), .Label = c("$BHAGWATI MEDICAL.", "BHAGWATI  MEDICAL", 
    "BHAGWATI MED & GEN STORES", "BHAGWATI MED ST 29207788", 
    "BHAGWATI MED. & GEN. STORES.", "BHAGWATI MED.& GEN. ST.", 
    "BHAGWATI MEDI & GEN.STORES", "BHAGWATI MEDICAL", "BHAGWATI MEDICAL   MAROL", 
    "BHAGWATI MEDICAL & GENERAL  STORES.", "BHAGWATI MEDICAL & GENERAL STORE", 
    "BHAGWATI MEDICAL & GENERAL STORES", "BHAGWATI MEDICAL & GENERAL STORES.", 
    "BHAGWATI MEDICAL & GENRAL STORE", "BHAGWATI MEDICAL [MAROL]", 
    "BHAGWATI MEDICAL STORE", "GOPAL KRISHNA  MED.(CLOSED-", 
    "GOPAL KRISHNA MED & GEN STO", "GOPAL KRISHNA MED & GEN STORE", 
    "GOPAL KRISHNA MED & GEN STORES", "GOPAL KRISHNA MED &. GENERAL STORES", 
    "GOPAL KRISHNA MED. & GEN. STORES", "GOPAL KRISHNA MED.& GEN.ST. #", 
    "GOPAL KRISHNA MED.& GEN.ST;[BORIVALI-W]", "GOPAL KRISHNA MED.&GEN.STORE", 
    "GOPAL KRISHNA MED.&GEN.STORES", "GOPAL KRISHNA MEDICAL", 
    "GOPAL KRISHNA MEDICAL & GENERAL STORES", "GOPALKRISHNA MEDICAL STORE", 
    "GOPALKRISHNA MEDICAL.", "NEW GOPAL KRISHNA MEDICAL & GEN.STORES", 
    "ZZGOPAL KRISHNA MED.ST."), class = "factor"), Address1 = structure(c(4L, 
    32L, 32L, 32L, 34L, 27L, 25L, 29L, 26L, 31L, 28L, 3L, 24L, 
    30L, 33L, 2L, 36L, 1L, 22L, 23L, 35L, 11L, 15L, 10L, 9L, 
    16L, 12L, 12L, 12L, 7L, 13L, 19L, 1L, 8L, 5L, 14L, 20L, 21L, 
    18L, 13L, 6L, 17L), .Label = c("", "2 GR FL MEZZANIN ABDUL REHAMAN", 
    "2 GR.FL.ABDUL REHMAN CHAWL", "2,GROUND FLOOR,ABDUL REHAMAN CHAWL,MAROL GAON", 
    "22 LAXMI CHAYA", "22 LAXMI CHHAYA L T RD", "22, LAXMI CHHAYA BLDG,", 
    "22, LAXMI CHHAYA BLDG,L.T.RD", "22, LAXMI CHHAYA, BABHAI NAKA", 
    "22, LAXMI CHHAYA, L.T.ROAD", "22,LAXMI CHAYYA BLDG", "22,LAXMI CHHAYA ,L.T.RD;BHABAI NAKA,", 
    "22,LAXMI CHHAYA,", "22,LAXMI CHHAYA, L.T.RD,BABHAI NAKA", 
    "22,LAXMI CHHAYA,L.T.ROAD", "22,LAXMI CHHAYA,L.T.ROAD,BABHAI", 
    "22/LAXMI CHHAYA", "22/LAXMI CHHAYA; L.T.ROAD", "22LAXMI CHHAYYA", 
    "L.T.ROAD, BABHAI NAKA", "SH-22,L.T.RD,BABAI NAKA", "SH NO.2BRFLR.MAZALIN FLR.", 
    "SHOP NO 2 ABDULREHMAN CHAWL SH", "SHOP NO 2.ABDUL REHMAN CHAWL.", 
    "SHOP NO.2 ABDUL REHMAN CHAWL  SHRI HANUMAN MANDIR MARG", 
    "SHOP NO.2, GR FLOOR, MEZZAINI FLR,ABDULREHMAN CHAWL,", "SHOP NO.2,ABDUL REHMAN CHAWL SHRI HANUMAN MANDIR ROAD", 
    "SHOP NO.2,ABDUL REHMAN CHWAL,HANUMAN MANDIR,MAROL VILLADGE REZY COELHO CHAWL,", 
    "SHREE HANUMAN MANDIR ROAD, MAROL VILLEG", "SHRI   HANUMAN  MANDIR  ROAD,", 
    "SHRI HANUMAN MANDIR RD,", "SHRI HANUMAN MANDIR RD;MAROL GAON,", 
    "SHRI HANUMAN MANDIR ROAD MAROL VILLAGE", "SHRI HANUMAN MANDIR ROAD,", 
    "SHRI HANUMAN MANDIR ROAD,, MAROL VILLAGE,, ANDHERI (E),", 
    "SHRI HANUMAN MANDIR ROAD,MAROL GAON,MAROL,ANDHERI-E"), class = "factor"), 
    Address2 = structure(c(29L, 7L, 7L, 7L, 26L, 1L, 27L, 1L, 
    30L, 25L, 6L, 18L, 31L, 24L, 23L, 16L, 1L, 4L, 3L, 5L, 2L, 
    21L, 8L, 9L, 17L, 28L, 15L, 15L, 15L, 11L, 19L, 10L, 1L, 
    11L, 9L, 1L, 14L, 1L, 13L, 22L, 12L, 20L), .Label = c("", 
    ", MUMBAI.", "ABDUL REHMAN CHL.HANUMAN MAND", "ANDHERI (E)", 
    "ANDHERI E", "ANDHERI(E)", "ANDHERI[E],MUMBAI-59.", "BABAI NAKA ,EKSAR ROAD", 
    "BABHAI NAKA", "BABHAI NAKA EKSAR ROAD", "BABHAI NAKA, EKSAR RD,", 
    "BABHAI NAKABORIVLI W MUM-92", "BORIVALI  (WEST) BABHAI  NAKA", 
    "BORIVALI (W)", "BORIVALI[W],MUMBAI-92.", "CHAWLHUMAN MANDIR RDMAROL", 
    "EKSAR ROAD", "HANUMAN MANDIR RD.", "L.T. ROAD,BABHAI NAKA,", 
    "L.T.ROAD", "L.T.ROAD,BABHAI NAKA", "L.T.ROAD,BABHAI NAKA, BORAVALI WEST,MUMBAI-400092", 
    "MAROL", "MAROL  GAON,", "MAROL GAON,MAROL, ANDHERI(E)", 
    "MAROL VILLAGE", "MAROL VILLAGE,", "NAKA,WEST MUMBAI", "SHREE HANUMAN MANDIR ROAD", 
    "SHREE HANUMAN MANDIR ROAD,MAROL GAON", "SHRI HANUMAN MANDIR ROAD, MAROL VILLAGE"
    ), class = "factor"), Area = structure(c(16L, 1L, 1L, 1L, 
    16L, 7L, 1L, 16L, 7L, 19L, 4L, 18L, 17L, 4L, 1L, 3L, 1L, 
    6L, 5L, 1L, 4L, 13L, 10L, 11L, 15L, 1L, 1L, 1L, 1L, 9L, 1L, 
    2L, 10L, 9L, 14L, 1L, 1L, 12L, 8L, 1L, 8L, 10L), .Label = c("", 
    "(S) BORIVALI (WEST).", "ANDHERI", "ANDHERI (E)", "ANDHERI (WEST)", 
    "ANDHERI [W]", "ANDHERI(E)", "BORIVALI", "BORIVALI (W)", 
    "BORIVALI (WEST)", "BORIVALI W", "BORIVALI(W)", "BORIVLI", 
    "L.T.RD", "L.T.ROAD", "MAROL", "MAROL - ANDHERI - EAST", 
    "MAROL GAON", "VP(E)-A(E)-MA"), class = "factor"), Category = structure(c(1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", 
    "RETAILER"), class = "factor"), City = structure(c(5L, 4L, 
    4L, 4L, 16L, 15L, 3L, 16L, 16L, 16L, 16L, 2L, 16L, 16L, 14L, 
    1L, 1L, 1L, 1L, 13L, 16L, 11L, 16L, 16L, 9L, 6L, 10L, 10L, 
    10L, 16L, 12L, 1L, 16L, 16L, 8L, 8L, 9L, 16L, 1L, 7L, 1L, 
    1L), .Label = c("", "ANDHERI-E", "ANDHERI (E)", "ANDHERI [E]", 
    "ANDHERI EAST", "BORIVALI", "BORIVALI- WEST", "BORIVALI-W", 
    "BORIVALI (W)", "BORIVALI [W]", "BORIVALI WEST", "BORIVALI{WEST}", 
    "GENERAL", "MAROL", "MUMABAI", "MUMBAI"), class = "factor"), 
    ContactPerson = structure(c(12L, 16L, 16L, 16L, 8L, 1L, 1L, 
    10L, 1L, 1L, 9L, 11L, 13L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
    2L, 14L, 1L, 4L, 5L, 15L, 15L, 15L, 1L, 1L, 1L, 1L, 1L, 6L, 
    1L, 1L, 1L, 7L, 1L, 3L, 1L), .Label = c("", "8959202", "9821287221 9892695575", 
    "CHANDHUBHAI", "CHANDRAKANTBHAI", "CHANDU BHAI", "CHANDU BHAI - 9833819296", 
    "DINESH", "DINESH BHAI", "DINESH BHIMRAJ", "DINESH KOTHARI", 
    "HARSHIT JAIN", "MAROL", "MR CHANDRAKANT", "MR.CHANDUBHAI", 
    "MR.DINESH KOTHARI"), class = "factor"), CSTNumber = structure(c(8L, 
    18L, 18L, 18L, 14L, 2L, 14L, 19L, 11L, 10L, 21L, 10L, 7L, 
    1L, 15L, 23L, 1L, 1L, 22L, 13L, 26L, 17L, 17L, 16L, 3L, 20L, 
    6L, 6L, 6L, 16L, 9L, 1L, 1L, 3L, 12L, 5L, 1L, 1L, 25L, 4L, 
    24L, 1L), .Label = c("", "20-21-Z-1", "20-MH-MZ7-192791", 
    "20-Z-7/92/1536", "20-Z-7/92/1536,21-Z-7/92/1536", "20-Z-7/92/2221", 
    "20-Z6/59/908", "20 Z6 59 90B", "20&21-Z-7/92/2221", "20,21/Z-6/59/908", 
    "20,21/Z-6/59/90B", "20,21/Z-7/92/2221", "20/21-Z6-59-908", 
    "20/Z-6/59/908", "20/Z/6/59/749", "20/Z/7/92/2221", "20/Z7/92/2221", 
    "20Z-6-59-908", "20Z-6/59/908", "20Z-7/92/2221", "21Z-6/59/908", 
    "27390646287 V", "27390646287V", "27480593421.V", "27480593421V", 
    "C_00121689190"), class = "factor"), Email = structure(c(2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 
    1L, 1L, 2L, 1L, 4L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 3L, 
    1L, 1L, 3L, 3L, 1L, 1L, 1L, 3L, 1L, 3L, 1L), .Label = c("", 
    "BHAGWATIMEDICAL7@YAHOO.COM", "GOPALKRISHNAMED22@GMAIL.COM", 
    "MUMBAI"), class = "factor"), LicenseNumber = structure(c(24L, 
    28L, 28L, 28L, 14L, 30L, 25L, 11L, 15L, 15L, 17L, 15L, 23L, 
    1L, 9L, 4L, 1L, 2L, 3L, 13L, 10L, 27L, 27L, 26L, 20L, 29L, 
    22L, 22L, 22L, 26L, 12L, 7L, 1L, 19L, 16L, 18L, 1L, 1L, 8L, 
    21L, 5L, 6L), .Label = c("", "/", "20-21-Z-6-59-90B", "20-21Z-59-908-20CZ6-59-940", 
    "20-21Z7922221 20C2124", "20-7-7/92/1536 /21-Z-7/92/1536", 
    "20-Z-7/92/187121-Z-7/92/1871 20C-Z-7/92/1817. DT.6.10.08", 
    "20-Z-7/92/2221*21-Z-7/92/2221 20C-Z-7/92/2124", "20 C/Z-6/59/788", 
    "20/21-Z-6/59/908", "20C-Z-6/59/940", "20C-Z-7/92/2124", 
    "20C-Z6-59-940", "20C/Z-6/59/908", "20C/Z-6/59/940", "20C/Z-7/92/2124", 
    "20Z-6/59/908", "21-C-Z/92/1481", "21-MH-MZ7-192792", "21-MH-MZ7/192792", 
    "21-Z-7/92/1536", "21-Z-7/92/2221", "21-Z6/59/908", "21 Z6 59 90B", 
    "21/Z-6/59/908", "21/Z/7/92/2221", "21/Z7/92/2221", "21Z-6-59-908", 
    "21Z-7/92/2221", "59-908-20C"), class = "factor"), Telephone = structure(c(9L, 
    7L, 7L, 7L, 12L, 12L, 8L, 7L, 13L, 7L, 10L, 18L, 11L, 12L, 
    7L, 1L, 1L, 1L, 17L, 7L, 1L, 15L, 6L, 2L, 2L, 5L, 2L, 2L, 
    2L, 3L, 4L, 16L, 2L, 3L, 2L, 1L, 14L, 15L, 2L, 2L, 2L, 1L
    ), .Label = c("", "28959202", "28959202 / 9821287221", "28959202,9821287221", 
    "28959202/69931501", "28959202/983381929", "29207788", "29207788  / 9867097667", 
    "29207788 / 07666464888", "29207788/7666464888", "29207788/7738788474/9869260832", 
    "29207788/8286453461", "7977458967", "9821287221", "9821287221/28959202", 
    "9821287221/9892695575", "9867097667 / 8286453461", "9869260832"
    ), class = "factor"), MobileNumber = structure(c(6L, 1L, 
    1L, 1L, 11L, 1L, 3L, 12L, 10L, 4L, 1L, 2L, 10L, 1L, 1L, 3L, 
    5L, 1L, 1L, 1L, 10L, 1L, 7L, 1L, 9L, 8L, 1L, 1L, 1L, 1L, 
    8L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", 
    "29207788", "7666464888", "7738788474", "8286453461", "8286453461,9867097667", 
    "9821287221", "9833819296", "9833819296/9821287221", "9867097667", 
    "98670976670", "9869260832"), class = "factor")), class = "data.frame", row.names = c(NA, 
-42L))
答案

问题是您指定的newdata包含因变量。而是使用

predicteddata <- predict(nb,newdata = tsd[!names(tsd) %in% "RetailerName"])

作品。

以上是关于(list)对象不能被强制在r中输入'integer'的主要内容,如果未能解决你的问题,请参考以下文章

Python:不能在类中使用函数两次,TypeError:'list'对象不可调用,为什么? [关闭]

java.util.ArrayList 不能强制转换为

mysql中:Unknown column 'tt' in 'field list'

R闪亮,找不到对象'输入'。

django模块不能用for i in range(0, 5)总报错

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 1: ordinal not in r