在R中估算缺失值

时间:2019-02-15 20:51:36

标签: r missing-data

处理数字变量中的na值的一种直接方法是通过变量中值的平均值来估算它们。这是我用来执行此过程的代码:

missingVal = which(is.na(train$Item_Weight))
for(i in missingVal){
item = train$Item_Identifier[i]
train$Item_Weight[i] = mean(train$Item_Weight[train$Item_Identifier == 
item], na.rm = T)
}

为什么在这段代码之后,我仍然看到4个na值作为执行以下代码行的输出:

sum(is.na(train$Item_Weight))

样本数据:执行此操作的输出:

dput(train[1:20, c("Item_Weight", "Item_Identifier")])

structure(list(Item_Weight = c(9.3, 5.92, 17.5, 19.2, 8.93, 10.395, 
13.65, 19, 16.2, 19.2, 11.8, 18.5, 15.1, 17.6, 16.35, 9, 11.8, 
9, 8.26, 13.35), Item_Identifier = structure(c(157L, 9L, 663L, 
1122L, 1298L, 759L, 697L, 739L, 441L, 991L, 1172L, 148L, 1143L, 
905L, 376L, 768L, 1281L, 768L, 80L, 969L), .Label = c("DRA12", 
"DRA24", "DRA59", "DRB01", "DRB13", "DRB24", "DRB25", "DRB48", 
"DRC01", "DRC12", "DRC13", "DRC24", "DRC25", "DRC27", "DRC36", 
"DRC49", "DRD01", "DRD12", "DRD13", "DRD15", "DRD24", "DRD25", 
"DRD27", "DRD37", "DRD49", "DRD60", "DRE01", "DRE03", "DRE12", 
"DRE13", "DRE15", "DRE25", "DRE27", "DRE37", "DRE48", "DRE49", 
"DRE60", "DRF01", "DRF03", "DRF13", "DRF15", "DRF23", "DRF25", 
"DRF27", "DRF36", "DRF37", "DRF48", "DRF49", "DRF51", "DRF60", 
"DRG01", "DRG03", "DRG11", "DRG13", "DRG15", "DRG23", "DRG25", 
"DRG27", "DRG36", "DRG37", "DRG39", "DRG48", "DRG49", "DRG51", 
"DRH01", "DRH03", "DRH11", "DRH13", "DRH15", "DRH23", "DRH25", 
"DRH36", "DRH37", "DRH39", "DRH49", "DRH51", "DRH59", "DRI01", 
"DRI03", "DRI11", "DRI13", "DRI23", "DRI25", "DRI37", "DRI39", 
"DRI47", "DRI49", "DRI51", "DRI59", "DRJ01", "DRJ11", "DRJ13", 
"DRJ23", "DRJ24", "DRJ25", "DRJ35", "DRJ37", "DRJ39", "DRJ47", 
"DRJ49", "DRJ51", "DRJ59", "DRK01", "DRK11", "DRK12", "DRK13", 
"DRK23", "DRK35", "DRK37", "DRK39", "DRK47", "DRK49", "DRK59", 
"DRL01", "DRL11", "DRL23", "DRL35", "DRL37", "DRL47", "DRL49", 
"DRL59", "DRL60", "DRM11", "DRM23", "DRM35", "DRM37", "DRM47", 
"DRM48", "DRM49", "DRM59", "DRN11", "DRN35", "DRN36", "DRN37", 
"DRN47", "DRN59", "DRO35", "DRO47", "DRO59", "DRP35", "DRP47", 
"DRQ35", "DRY23", "DRZ11", "DRZ24", "FDA01", "FDA02", "FDA03", 
"FDA04", "FDA07", "FDA08", "FDA09", "FDA10", "FDA11", "FDA13", 
"FDA14", "FDA15", "FDA16", "FDA19", "FDA20", "FDA21", "FDA22", 
"FDA23", "FDA25", "FDA26", "FDA27", "FDA28", "FDA31", "FDA32", 
"FDA33", "FDA34", "FDA35", "FDA36", "FDA37", "FDA38", "FDA39", 
"FDA40", "FDA43", "FDA44", "FDA45", "FDA46", "FDA47", "FDA48", 
"FDA49", "FDA50", "FDA51", "FDA52", "FDA55", "FDA56", "FDA57", 
"FDA58", "FDB02", "FDB03", "FDB04", "FDB05", "FDB08", "FDB09", 
"FDB10", "FDB11", "FDB12", "FDB14", "FDB15", "FDB16", "FDB17", 
"FDB20", "FDB21", "FDB22", "FDB23", "FDB26", "FDB27", "FDB28", 
"FDB29", "FDB32", "FDB33", "FDB34", "FDB35", "FDB36", "FDB37", 
"FDB38", "FDB39", "FDB40", "FDB41", "FDB44", "FDB45", "FDB46", 
"FDB47", "FDB49", "FDB50", "FDB51", "FDB52", "FDB53", "FDB56", 
"FDB57", "FDB58", "FDB59", "FDB60", "FDC02", "FDC03", "FDC04", 
"FDC05", "FDC08", "FDC09", "FDC10", "FDC11", "FDC14", "FDC15", 
"FDC16", "FDC17", "FDC20", "FDC21", "FDC22", "FDC23", "FDC26", 
"FDC28", "FDC29", "FDC32", "FDC33", "FDC34", "FDC35", "FDC37", 
"FDC38", "FDC39", "FDC40", "FDC41", "FDC44", "FDC45", "FDC46", 
"FDC47", "FDC48", "FDC50", "FDC51", "FDC52", "FDC53", "FDC56", 
"FDC57", "FDC58", "FDC59", "FDC60", "FDD02", "FDD03", "FDD04", 
"FDD05", "FDD08", "FDD09", "FDD10", "FDD11", "FDD14", "FDD16", 
"FDD17", "FDD20", "FDD21", "FDD22", "FDD23", "FDD26", "FDD28", 
"FDD29", "FDD32", "FDD33", "FDD34", "FDD35", "FDD36", "FDD38", 
"FDD39", "FDD40", "FDD41", "FDD44", "FDD45", "FDD46", "FDD47", 
"FDD48", "FDD50", "FDD51", "FDD52", "FDD53", "FDD56", "FDD57", 
"FDD58", "FDD59", "FDE02", "FDE04", "FDE05", "FDE08", "FDE09", 
"FDE10", "FDE11", "FDE14", "FDE16", "FDE17", "FDE20", "FDE21", 
"FDE22", "FDE23", "FDE24", "FDE26", "FDE28", "FDE29", "FDE32", 
"FDE33", "FDE34", "FDE35", "FDE36", "FDE38", "FDE39", "FDE40", 
"FDE41", "FDE44", "FDE45", "FDE46", "FDE47", "FDE50", "FDE51", 
"FDE52", "FDE53", "FDE56", "FDE57", "FDE58", "FDE59", "FDF02", 
"FDF04", "FDF05", "FDF08", "FDF09", "FDF10", "FDF11", "FDF12", 
"FDF14", "FDF16", "FDF17", "FDF20", "FDF21", "FDF22", "FDF24", 
"FDF26", "FDF28", "FDF29", "FDF32", "FDF33", "FDF34", "FDF35", 
"FDF38", "FDF39", "FDF40", "FDF41", "FDF44", "FDF45", "FDF46", 
"FDF47", "FDF50", "FDF52", "FDF53", "FDF56", "FDF57", "FDF58", 
"FDF59", "FDG02", "FDG04", "FDG05", "FDG08", "FDG09", "FDG10", 
"FDG12", "FDG14", "FDG16", "FDG17", "FDG20", "FDG21", "FDG22", 
"FDG24", "FDG26", "FDG28", "FDG29", "FDG31", "FDG32", "FDG33", 
"FDG34", "FDG35", "FDG38", "FDG40", "FDG41", "FDG44", "FDG45", 
"FDG46", "FDG47", "FDG50", "FDG52", "FDG53", "FDG56", "FDG57", 
"FDG58", "FDG59", "FDG60", "FDH02", "FDH04", "FDH05", "FDH08", 
"FDH09", "FDH10", "FDH12", "FDH14", "FDH16", "FDH17", "FDH19", 
"FDH20", "FDH21", "FDH22", "FDH24", "FDH26", "FDH27", "FDH28", 
"FDH31", "FDH32", "FDH33", "FDH34", "FDH35", "FDH38", "FDH40", 
"FDH41", "FDH44", "FDH45", "FDH46", "FDH47", "FDH48", "FDH50", 
"FDH52", "FDH53", "FDH56", "FDH57", "FDH58", "FDH60", "FDI02", 
"FDI04", "FDI05", "FDI07", "FDI08", "FDI09", "FDI10", "FDI12", 
"FDI14", "FDI15", "FDI16", "FDI19", "FDI20", "FDI21", "FDI22", 
"FDI24", "FDI26", "FDI27", "FDI28", "FDI32", "FDI33", "FDI34", 
"FDI35", "FDI36", "FDI38", "FDI40", "FDI41", "FDI44", "FDI45", 
"FDI46", "FDI48", "FDI50", "FDI52", "FDI53", "FDI56", "FDI57", 
"FDI58", "FDI60", "FDJ02", "FDJ03", "FDJ04", "FDJ07", "FDJ08", 
"FDJ09", "FDJ10", "FDJ12", "FDJ14", "FDJ15", "FDJ16", "FDJ20", 
"FDJ21", "FDJ22", "FDJ26", "FDJ27", "FDJ28", "FDJ32", "FDJ33", 
"FDJ34", "FDJ36", "FDJ38", "FDJ40", "FDJ41", "FDJ44", "FDJ45", 
"FDJ46", "FDJ48", "FDJ50", "FDJ52", "FDJ53", "FDJ55", "FDJ56", 
"FDJ57", "FDJ58", "FDJ60", "FDK02", "FDK03", "FDK04", "FDK08", 
"FDK09", "FDK10", "FDK14", "FDK15", "FDK16", "FDK20", "FDK21", 
"FDK22", "FDK24", "FDK25", "FDK26", "FDK27", "FDK28", "FDK32", 
"FDK33", "FDK34", "FDK36", "FDK38", "FDK40", "FDK41", "FDK43", 
"FDK44", "FDK45", "FDK46", "FDK48", "FDK50", "FDK51", "FDK52", 
"FDK55", "FDK56", "FDK57", "FDK58", "FDK60", "FDL02", "FDL03", 
"FDL04", "FDL08", "FDL09", "FDL10", "FDL12", "FDL13", "FDL14", 
"FDL15", "FDL16", "FDL20", "FDL21", "FDL22", "FDL24", "FDL25", 
"FDL26", "FDL27", "FDL28", "FDL32", "FDL33", "FDL34", "FDL36", 
"FDL38", "FDL39", "FDL40", "FDL43", "FDL44", "FDL45", "FDL46", 
"FDL48", "FDL50", "FDL51", "FDL52", "FDL56", "FDL57", "FDL58", 
"FDM01", "FDM02", "FDM03", "FDM04", "FDM08", "FDM09", "FDM10", 
"FDM12", "FDM13", "FDM14", "FDM15", "FDM16", "FDM20", "FDM21", 
"FDM22", "FDM24", "FDM25", "FDM27", "FDM28", "FDM32", "FDM33", 
"FDM34", "FDM36", "FDM38", "FDM39", "FDM40", "FDM44", "FDM45", 
"FDM46", "FDM50", "FDM51", "FDM52", "FDM56", "FDM57", "FDM58", 
"FDM60", "FDN01", "FDN02", "FDN03", "FDN04", "FDN08", "FDN09", 
"FDN10", "FDN12", "FDN13", "FDN15", "FDN16", "FDN20", "FDN21", 
"FDN22", "FDN23", "FDN24", "FDN25", "FDN27", "FDN28", "FDN31", 
"FDN32", "FDN33", "FDN34", "FDN38", "FDN39", "FDN40", "FDN44", 
"FDN45", "FDN46", "FDN48", "FDN49", "FDN50", "FDN51", "FDN52", 
"FDN56", "FDN57", "FDN58", "FDN60", "FDO01", "FDO03", "FDO04", 
"FDO08", "FDO09", "FDO10", "FDO11", "FDO12", "FDO13", "FDO15", 
"FDO16", "FDO19", "FDO20", "FDO21", "FDO22", "FDO23", "FDO24", 
"FDO25", "FDO27", "FDO28", "FDO31", "FDO32", "FDO33", "FDO34", 
"FDO36", "FDO37", "FDO38", "FDO39", "FDO40", "FDO44", "FDO45", 
"FDO46", "FDO48", "FDO49", "FDO50", "FDO51", "FDO52", "FDO56", 
"FDO57", "FDO58", "FDO60", "FDP01", "FDP03", "FDP04", "FDP07", 
"FDP08", "FDP09", "FDP10", "FDP11", "FDP12", "FDP13", "FDP15", 
"FDP16", "FDP19", "FDP20", "FDP21", "FDP22", "FDP23", "FDP24", 
"FDP25", "FDP26", "FDP27", "FDP28", "FDP31", "FDP32", "FDP33", 
"FDP34", "FDP36", "FDP37", "FDP38", "FDP39", "FDP40", "FDP44", 
"FDP45", "FDP46", "FDP48", "FDP49", "FDP51", "FDP52", "FDP56", 
"FDP57", "FDP58", "FDP59", "FDP60", "FDQ01", "FDQ03", "FDQ04", 
"FDQ07", "FDQ08", "FDQ09", "FDQ10", "FDQ11", "FDQ12", "FDQ13", 
"FDQ14", "FDQ15", "FDQ16", "FDQ19", "FDQ20", "FDQ21", "FDQ22", 
"FDQ23", "FDQ24", "FDQ25", "FDQ26", "FDQ27", "FDQ28", "FDQ31", 
"FDQ32", "FDQ33", "FDQ34", "FDQ36", "FDQ37", "FDQ39", "FDQ40", 
"FDQ44", "FDQ45", "FDQ46", "FDQ47", "FDQ48", "FDQ49", "FDQ51", 
"FDQ52", "FDQ55", "FDQ56", "FDQ57", "FDQ58", "FDQ59", "FDQ60", 
"FDR01", "FDR02", "FDR03", "FDR04", "FDR07", "FDR08", "FDR09", 
"FDR10", "FDR11", "FDR12", "FDR13", "FDR14", "FDR15", "FDR16", 
"FDR19", "FDR20", "FDR21", "FDR22", "FDR23", "FDR24", "FDR25", 
"FDR26", "FDR27", "FDR28", "FDR31", "FDR32", "FDR33", "FDR34", 
"FDR35", "FDR36", "FDR37", "FDR39", "FDR40", "FDR43", "FDR44", 
"FDR45", "FDR46", "FDR47", "FDR48", "FDR49", "FDR51", "FDR52", 
"FDR55", "FDR56", "FDR57", "FDR58", "FDR59", "FDR60", "FDS01", 
"FDS02", "FDS03", "FDS04", "FDS07", "FDS08", "FDS09", "FDS10", 
"FDS11", "FDS12", "FDS13", "FDS14", "FDS15", "FDS16", "FDS19", 
"FDS20", "FDS21", "FDS22", "FDS23", "FDS24", "FDS25", "FDS26", 
"FDS27", "FDS28", "FDS31", "FDS32", "FDS33", "FDS34", "FDS35", 
"FDS36", "FDS37", "FDS39", "FDS40", "FDS43", "FDS44", "FDS45", 
"FDS46", "FDS47", "FDS48", "FDS49", "FDS50", "FDS51", "FDS52", 
"FDS55", "FDS56", "FDS57", "FDS58", "FDS59", "FDS60", "FDT01", 
"FDT02", "FDT03", "FDT04", "FDT07", "FDT08", "FDT09", "FDT10", 
"FDT11", "FDT12", "FDT13", "FDT14", "FDT15", "FDT16", "FDT19", 
"FDT20", "FDT21", "FDT22", "FDT23", "FDT24", "FDT25", "FDT26", 
"FDT27", "FDT28", "FDT31", "FDT32", "FDT33", "FDT34", "FDT35", 
"FDT36", "FDT37", "FDT38", "FDT39", "FDT40", "FDT43", "FDT44", 
"FDT45", "FDT46", "FDT47", "FDT48", "FDT49", "FDT50", "FDT51", 
"FDT52", "FDT55", "FDT56", "FDT57", "FDT58", "FDT59", "FDT60", 
"FDU01", "FDU02", "FDU03", "FDU04", "FDU07", "FDU08", "FDU09", 
"FDU10", "FDU11", "FDU12", "FDU13", "FDU14", "FDU15", "FDU16", 
"FDU19", "FDU20", "FDU21", "FDU22", "FDU23", "FDU24", "FDU25", 
"FDU26", "FDU27", "FDU28", "FDU31", "FDU32", "FDU33", "FDU34", 
"FDU35", "FDU36", "FDU37", "FDU38", "FDU39", "FDU40", "FDU43", 
"FDU44", "FDU45", "FDU46", "FDU47", "FDU48", "FDU49", "FDU50", 
"FDU51", "FDU52", "FDU55", "FDU56", "FDU57", "FDU58", "FDU59", 
"FDU60", "FDV01", "FDV02", "FDV03", "FDV04", "FDV07", "FDV08", 
"FDV09", "FDV10", "FDV11", "FDV12", "FDV13", "FDV14", "FDV15", 
"FDV16", "FDV19", "FDV20", "FDV21", "FDV22", "FDV23", "FDV24", 
"FDV25", "FDV26", "FDV27", "FDV28", "FDV31", "FDV32", "FDV33", 
"FDV34", "FDV35", "FDV36", "FDV37", "FDV38", "FDV39", "FDV40", 
"FDV43", "FDV44", "FDV45", "FDV46", "FDV47", "FDV48", "FDV49", 
"FDV50", "FDV51", "FDV52", "FDV55", "FDV56", "FDV57", "FDV58", 
"FDV59", "FDV60", "FDW01", "FDW02", "FDW03", "FDW04", "FDW07", 
"FDW08", "FDW09", "FDW10", "FDW11", "FDW12", "FDW13", "FDW14", 
"FDW15", "FDW16", "FDW19", "FDW20", "FDW21", "FDW22", "FDW23", 
"FDW24", "FDW25", "FDW26", "FDW27", "FDW28", "FDW31", "FDW32", 
"FDW33", "FDW34", "FDW35", "FDW36", "FDW37", "FDW38", "FDW39", 
"FDW40", "FDW43", "FDW44", "FDW45", "FDW46", "FDW47", "FDW48", 
"FDW49", "FDW50", "FDW51", "FDW52", "FDW55", "FDW56", "FDW57", 
"FDW58", "FDW59", "FDW60", "FDX01", "FDX02", "FDX03", "FDX04", 
"FDX07", "FDX08", "FDX09", "FDX10", "FDX11", "FDX12", "FDX13", 
"FDX14", "FDX15", "FDX16", "FDX19", "FDX20", "FDX21", "FDX22", 
"FDX23", "FDX24", "FDX25", "FDX26", "FDX27", "FDX28", "FDX31", 
"FDX32", "FDX33", "FDX34", "FDX35", "FDX36", "FDX37", "FDX38", 
"FDX39", "FDX40", "FDX43", "FDX44", "FDX45", "FDX46", "FDX47", 
"FDX48", "FDX49", "FDX50", "FDX51", "FDX52", "FDX55", "FDX56", 
"FDX57", "FDX58", "FDX59", "FDX60", "FDY01", "FDY02", "FDY03", 
"FDY04", "FDY07", "FDY08", "FDY09", "FDY10", "FDY11", "FDY12", 
"FDY13", "FDY14", "FDY15", "FDY16", "FDY19", "FDY20", "FDY21", 
"FDY22", "FDY24", "FDY25", "FDY26", "FDY27", "FDY28", "FDY31", 
"FDY32", "FDY33", "FDY34", "FDY35", "FDY36", "FDY37", "FDY38", 
"FDY39", "FDY40", "FDY43", "FDY44", "FDY45", "FDY46", "FDY47", 
"FDY48", "FDY49", "FDY50", "FDY51", "FDY52", "FDY55", "FDY56", 
"FDY57", "FDY58", "FDY59", "FDY60", "FDZ01", "FDZ02", "FDZ03", 
"FDZ04", "FDZ07", "FDZ08", "FDZ09", "FDZ10", "FDZ12", "FDZ13", 
"FDZ14", "FDZ15", "FDZ16", "FDZ19", "FDZ20", "FDZ21", "FDZ22", 
"FDZ23", "FDZ25", "FDZ26", "FDZ27", "FDZ28", "FDZ31", "FDZ32", 
"FDZ33", "FDZ34", "FDZ35", "FDZ36", "FDZ37", "FDZ38", "FDZ39", 
"FDZ40", "FDZ43", "FDZ44", "FDZ45", "FDZ46", "FDZ47", "FDZ48", 
"FDZ49", "FDZ50", "FDZ51", "FDZ52", "FDZ55", "FDZ56", "FDZ57", 
"FDZ58", "FDZ59", "FDZ60", "NCA05", "NCA06", "NCA17", "NCA18", 
"NCA29", "NCA30", "NCA41", "NCA42", "NCA53", "NCA54", "NCB06", 
"NCB07", "NCB18", "NCB19", "NCB30", "NCB31", "NCB42", "NCB43", 
"NCB54", "NCB55", "NCC06", "NCC07", "NCC18", "NCC19", "NCC30", 
"NCC31", "NCC42", "NCC43", "NCC54", "NCC55", "NCD06", "NCD07", 
"NCD18", "NCD19", "NCD30", "NCD31", "NCD42", "NCD43", "NCD54", 
"NCD55", "NCE06", "NCE07", "NCE18", "NCE19", "NCE30", "NCE31", 
"NCE42", "NCE43", "NCE54", "NCE55", "NCF06", "NCF07", "NCF18", 
"NCF19", "NCF30", "NCF31", "NCF42", "NCF43", "NCF54", "NCF55", 
"NCG06", "NCG07", "NCG18", "NCG19", "NCG30", "NCG42", "NCG43", 
"NCG54", "NCG55", "NCH06", "NCH07", "NCH18", "NCH29", "NCH30", 
"NCH42", "NCH43", "NCH54", "NCH55", "NCI06", "NCI17", "NCI18", 
"NCI29", "NCI30", "NCI31", "NCI42", "NCI43", "NCI54", "NCI55", 
"NCJ05", "NCJ06", "NCJ17", "NCJ18", "NCJ19", "NCJ29", "NCJ30", 
"NCJ31", "NCJ42", "NCJ43", "NCJ54", "NCK05", "NCK06", "NCK07", 
"NCK17", "NCK18", "NCK19", "NCK29", "NCK30", "NCK31", "NCK42", 
"NCK53", "NCK54", "NCL05", "NCL06", "NCL07", "NCL17", "NCL18", 
"NCL19", "NCL29", "NCL30", "NCL31", "NCL41", "NCL42", "NCL53", 
"NCL54", "NCL55", "NCM05", "NCM06", "NCM07", "NCM17", "NCM18", 
"NCM19", "NCM26", "NCM29", "NCM30", "NCM31", "NCM41", "NCM42", 
"NCM43", "NCM53", "NCM54", "NCM55", "NCN05", "NCN06", "NCN07", 
"NCN14", "NCN17", "NCN18", "NCN19", "NCN26", "NCN29", "NCN30", 
"NCN41", "NCN42", "NCN43", "NCN53", "NCN54", "NCN55", "NCO02", 
"NCO05", "NCO06", "NCO07", "NCO14", "NCO17", "NCO18", "NCO26", 
"NCO29", "NCO30", "NCO41", "NCO42", "NCO43", "NCO53", "NCO54", 
"NCO55", "NCP02", "NCP05", "NCP06", "NCP14", "NCP17", "NCP18", 
"NCP29", "NCP30", "NCP41", "NCP42", "NCP43", "NCP50", "NCP53", 
"NCP54", "NCP55", "NCQ02", "NCQ05", "NCQ06", "NCQ17", "NCQ18", 
"NCQ29", "NCQ30", "NCQ38", "NCQ41", "NCQ42", "NCQ43", "NCQ50", 
"NCQ53", "NCQ54", "NCR05", "NCR06", "NCR17", "NCR18", "NCR29", 
"NCR30", "NCR38", "NCR41", "NCR42", "NCR50", "NCR53", "NCR54", 
"NCS05", "NCS06", "NCS17", "NCS18", "NCS29", "NCS30", "NCS38", 
"NCS41", "NCS42", "NCS53", "NCS54", "NCT05", "NCT06", "NCT17", 
"NCT18", "NCT29", "NCT30", "NCT41", "NCT42", "NCT53", "NCT54", 
"NCU05", "NCU06", "NCU17", "NCU18", "NCU29", "NCU30", "NCU41", 
"NCU42", "NCU53", "NCU54", "NCV05", "NCV06", "NCV17", "NCV18", 
"NCV29", "NCV30", "NCV41", "NCV42", "NCV53", "NCV54", "NCW05", 
"NCW06", "NCW17", "NCW18", "NCW29", "NCW30", "NCW41", "NCW42", 
"NCW53", "NCW54", "NCX05", "NCX06", "NCX17", "NCX18", "NCX29", 
"NCX30", "NCX41", "NCX42", "NCX53", "NCX54", "NCY05", "NCY06", 
"NCY17", "NCY18", "NCY29", "NCY30", "NCY41", "NCY42", "NCY53", 
"NCY54", "NCZ05", "NCZ06", "NCZ17", "NCZ18", "NCZ29", "NCZ30", 
"NCZ41", "NCZ42", "NCZ53", "NCZ54"), class = "factor")), row.names = c(NA, 
20L), class = "data.frame")

1 个答案:

答案 0 :(得分:0)

您可以为此使用ave,不需要显式的for循环。
我将以伪造的数据集为例。
该代码没有修改现有的列Item_Weight,而是创建了一个新列。

set.seed(1234)    # Make the results reproducible

train <- data.frame(Item_Identifier = paste0("DR", rep(1:3, each = 10)),
                    Item_Weight = runif(30, 0, 20))
is.na(train$Item_Weight) <- sample(30, 6)


train$Item_Weight_New <- with(train, ave(Item_Weight, Item_Identifier, FUN = function(x) {
  ifelse(is.na(x), mean(x, na.rm = TRUE), x)}))

鉴于问题描述,据我所知,没有任何原因导致上述代码无法正常工作。