Я пытаюсь скопировать код для запуска lda на моих данных mnist и получить ошибку при использовании функции apply - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь повторить анализ для lda, указанный в: http://www.statslab.cam.ac.uk/~tw389/teaching/SLP18/Practical06.pdf

Когда я пытаюсь использовать их код для удаления белых пикселей на полях, мой код выдает ошибку-

> identical <- apply(tr_data, 2, function(v){all(v==v[1])})
> tr_data_n <- tr_data[,!identical]
Error in `[.data.frame`(tr_data, , !identical) : 
  undefined columns selected

Я проверил, что у меня правильный димфрейм с первым полем в качестве класса, как в коде ссылки.

str(tr_data)
'data.frame':   36722 obs. of  785 variables:
 $ class: Factor w/ 10 levels "0","1","2","3",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ V1   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ V2   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ V3   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ V4   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ V5   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ V6   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ V7   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ V8   : int  0 0 0 0 0 0 0 0 0 0 ...

identical <- apply(tr_data, 2, function(v){all(v==v[1])})
tr_data_n <- tr_data[1:nrow(tr_data),!identical]

Можете ли вы помочь устранить некоторые причины, по которым я должен получить эту ошибку? Я проверил, что весь код из файла PDF, которым я поделился, прекрасно работает.

> dput(head(tr_data,2))
structure(list(class = structure(c(1L, 1L), .Label = c("0", "1", 
"2", "3", "4", "5", "6", "7", "8", "9"), class = "factor"), V1 = c(0L, 
0L), V2 = c(0L, 0L), V3 = c(0L, 0L), V4 = c(0L, 0L), V5 = c(0L, 
0L), V6 = c(0L, 0L), V7 = c(0L, 0L), V8 = c(0L, 0L), V9 = c(0L, 
0L), V10 = c(0L, 0L), V11 = c(0L, 0L), V12 = c(0L, 0L), V13 = c(0L, 
0L), V14 = c(0L, 0L), V15 = c(0L, 0L), V16 = c(0L, 0L), V17 = c(0L, 
0L), V18 = c(0L, 0L), V19 = c(0L, 0L), V20 = c(0L, 0L), V21 = c(0L, 
0L), V22 = c(0L, 0L), V23 = c(0L, 0L), V24 = c(0L, 0L), V25 = c(0L, 
0L), V26 = c(0L, 0L), V27 = c(0L, 0L), V28 = c(0L, 0L), V29 = c(0L, 
0L), V30 = c(0L, 0L), V31 = c(0L, 0L), V32 = c(0L, 0L), V33 = c(0L, 
0L), V34 = c(0L, 0L), V35 = c(0L, 0L), V36 = c(0L, 0L), V37 = c(0L, 
0L), V38 = c(0L, 0L), V39 = c(0L, 0L), V40 = c(0L, 0L), V41 = c(0L, 
0L), V42 = c(0L, 0L), V43 = c(0L, 0L), V44 = c(0L, 0L), V45 = c(0L, 
0L), V46 = c(0L, 0L), V47 = c(0L, 0L), V48 = c(0L, 0L), V49 = c(0L, 
0L), V50 = c(0L, 0L), V51 = c(0L, 0L), V52 = c(0L, 0L), V53 = c(0L, 
0L), V54 = c(0L, 0L), V55 = c(0L, 0L), V56 = c(0L, 0L), V57 = c(0L, 
0L), V58 = c(0L, 0L), V59 = c(0L, 0L), V60 = c(0L, 0L), V61 = c(0L, 
0L), V62 = c(0L, 0L), V63 = c(0L, 0L), V64 = c(0L, 0L), V65 = c(0L, 
0L), V66 = c(0L, 0L), V67 = c(0L, 0L), V68 = c(0L, 0L), V69 = c(0L, 
0L), V70 = c(0L, 0L), V71 = c(0L, 0L), V72 = c(0L, 0L), V73 = c(0L, 
0L), V74 = c(0L, 0L), V75 = c(0L, 0L), V76 = c(0L, 0L), V77 = c(0L, 
0L), V78 = c(0L, 0L), V79 = c(0L, 0L), V80 = c(0L, 0L), V81 = c(0L, 
0L), V82 = c(0L, 0L), V83 = c(0L, 0L), V84 = c(0L, 0L), V85 = c(0L, 
0L), V86 = c(0L, 0L), V87 = c(0L, 0L), V88 = c(0L, 0L), V89 = c(0L, 
0L), V90 = c(0L, 0L), V91 = c(0L, 0L), V92 = c(0L, 0L), V93 = c(0L, 
0L), V94 = c(0L, 0L), V95 = c(0L, 0L), V96 = c(0L, 0L), V97 = c(0L, 
0L), V98 = c(0L, 0L), V99 = c(0L, 0L), V100 = c(0L, 0L), V101 = c(0L, 
0L), V102 = c(0L, 0L), V103 = c(0L, 0L), V104 = c(0L, 0L), V105 = c(0L, 
0L), V106 = c(0L, 0L), V107 = c(0L, 0L), V108 = c(0L, 0L), V109 = c(0L, 
0L), V110 = c(0L, 0L), V111 = c(0L, 0L), V112 = c(0L, 0L), V113 = c(0L, 
0L), V114 = c(0L, 0L), V115 = c(0L, 0L), V116 = c(0L, 0L), V117 = c(0L, 
0L), V118 = c(0L, 0L), V119 = c(0L, 0L), V120 = c(0L, 0L), V121 = c(0L, 
0L), V122 = c(0L, 0L), V123 = c(0L, 0L), V124 = c(0L, 0L), V125 = c(0L, 
0L), V126 = c(0L, 0L), V127 = c(0L, 0L), V128 = c(51L, 0L), V129 = c(159L, 
0L), V130 = c(253L, 64L), V131 = c(159L, 253L), V132 = c(50L, 
255L), V133 = c(0L, 63L), V134 = c(0L, 0L), V135 = c(0L, 0L), 
    V136 = c(0L, 0L), V137 = c(0L, 0L), V138 = c(0L, 0L), V139 = c(0L, 
    0L), V140 = c(0L, 0L), V141 = c(0L, 0L), V142 = c(0L, 0L), 
    V143 = c(0L, 0L), V144 = c(0L, 0L), V145 = c(0L, 0L), V146 = c(0L, 
    0L), V147 = c(0L, 0L), V148 = c(0L, 0L), V149 = c(0L, 0L), 
    V150 = c(0L, 0L), V151 = c(0L, 0L), V152 = c(0L, 0L), V153 = c(0L, 
    0L), V154 = c(0L, 0L), V155 = c(48L, 0L), V156 = c(238L, 
    0L), V157 = c(252L, 96L), V158 = c(252L, 205L), V159 = c(252L, 
    251L), V160 = c(237L, 253L), V161 = c(0L, 205L), V162 = c(0L, 
    111L), V163 = c(0L, 4L), V164 = c(0L, 0L), V165 = c(0L, 0L
    ), V166 = c(0L, 0L), V167 = c(0L, 0L), V168 = c(0L, 0L), 
    V169 = c(0L, 0L), V170 = c(0L, 0L), V171 = c(0L, 0L), V172 = c(0L, 
    0L), V173 = c(0L, 0L), V174 = c(0L, 0L), V175 = c(0L, 0L), 
    V176 = c(0L, 0L), V177 = c(0L, 0L), V178 = c(0L, 0L), V179 = c(0L, 
    0L), V180 = c(0L, 0L), V181 = c(0L, 0L), V182 = c(54L, 0L
    ), V183 = c(227L, 0L), V184 = c(253L, 96L), V185 = c(252L, 
    189L), V186 = c(239L, 251L), V187 = c(233L, 251L), V188 = 252:253, 
    V189 = c(57L, 251L), V190 = c(6L, 251L), V191 = c(0L, 31L
    ), V192 = c(0L, 0L), V193 = c(0L, 0L), V194 = c(0L, 0L), 
    V195 = c(0L, 0L), V196 = c(0L, 0L), V197 = c(0L, 0L), V198 = c(0L, 
    0L), V199 = c(0L, 0L), V200 = c(0L, 0L), V201 = c(0L, 0L), 
    V202 = c(0L, 0L), V203 = c(0L, 0L), V204 = c(0L, 0L), V205 = c(0L, 
    0L), V206 = c(0L, 0L), V207 = c(0L, 0L), V208 = c(10L, 0L
    ), V209 = c(60L, 16L), V210 = c(224L, 64L), V211 = c(252L, 
    223L), V212 = c(253L, 244L), V213 = c(252L, 251L), V214 = c(202L, 
    251L), V215 = c(84L, 211L), V216 = c(252L, 213L), V217 = c(253L, 
    251L), V218 = c(122L, 251L), V219 = c(0L, 31L), V220 = c(0L, 
    0L), V221 = c(0L, 0L), V222 = c(0L, 0L), V223 = c(0L, 0L), 
    V224 = c(0L, 0L), V225 = c(0L, 0L), V226 = c(0L, 0L), V227 = c(0L, 
    0L), V228 = c(0L, 0L), V229 = c(0L, 0L), V230 = c(0L, 0L), 
    V231 = c(0L, 0L), V232 = c(0L, 0L), V233 = c(0L, 0L), V234 = c(0L, 
    0L), V235 = c(0L, 0L), V236 = c(163L, 80L), V237 = c(252L, 
    181L), V238 = c(252L, 251L), V239 = 252:253, V240 = c(253L, 
    251L), V241 = c(252L, 251L), V242 = c(252L, 251L), V243 = c(96L, 
    94L), V244 = c(189L, 96L), V245 = c(253L, 251L), V246 = c(167L, 
    251L), V247 = c(0L, 31L), V248 = c(0L, 0L), V249 = c(0L, 
    0L), V250 = c(0L, 0L), V251 = c(0L, 0L), V252 = c(0L, 0L), 
    V253 = c(0L, 0L), V254 = c(0L, 0L), V255 = c(0L, 0L), V256 = c(0L, 
    0L), V257 = c(0L, 0L), V258 = c(0L, 0L), V259 = c(0L, 0L), 
    V260 = c(0L, 0L), V261 = c(0L, 0L), V262 = c(0L, 0L), V263 = c(51L, 
    92L), V264 = c(238L, 253L), V265 = c(253L, 253L), V266 = c(253L, 
    253L), V267 = c(190L, 255L), V268 = c(114L, 253L), V269 = c(253L, 
    253L), V270 = c(228L, 253L), V271 = c(47L, 95L), V272 = c(79L, 
    96L), V273 = c(255L, 253L), V274 = c(168L, 253L), V275 = c(0L, 
    31L), V276 = c(0L, 0L), V277 = c(0L, 0L), V278 = c(0L, 0L
    ), V279 = c(0L, 0L), V280 = c(0L, 0L), V281 = c(0L, 0L), 
    V282 = c(0L, 0L), V283 = c(0L, 0L), V284 = c(0L, 0L), V285 = c(0L, 
    0L), V286 = c(0L, 0L), V287 = c(0L, 0L), V288 = c(0L, 0L), 
    V289 = c(0L, 0L), V290 = c(48L, 92L), V291 = c(238L, 236L
    ), V292 = c(252L, 251L), V293 = c(252L, 243L), V294 = c(179L, 
    220L), V295 = c(12L, 233L), V296 = c(75L, 251L), V297 = c(121L, 
    251L), V298 = c(21L, 243L), V299 = c(0L, 82L), V300 = c(0L, 
    96L), V301 = c(253L, 251L), V302 = c(243L, 251L), V303 = c(50L, 
    31L), V304 = c(0L, 0L), V305 = c(0L, 0L), V306 = c(0L, 0L
    ), V307 = c(0L, 0L), V308 = c(0L, 0L), V309 = c(0L, 0L), 
    V310 = c(0L, 0L), V311 = c(0L, 0L), V312 = c(0L, 0L), V313 = c(0L, 
    0L), V314 = c(0L, 0L), V315 = c(0L, 0L), V316 = c(0L, 0L), 
    V317 = c(38L, 80L), V318 = c(165L, 253L), V319 = c(253L, 
    251L), V320 = c(233L, 251L), V321 = c(208L, 188L), V322 = c(84L, 
    0L), V323 = c(0L, 96L), V324 = c(0L, 251L), V325 = c(0L, 
    251L), V326 = c(0L, 109L), V327 = c(0L, 0L), V328 = c(0L, 
    96L), V329 = c(253L, 251L), V330 = c(252L, 251L), V331 = c(165L, 
    31L), V332 = c(0L, 0L), V333 = c(0L, 0L), V334 = c(0L, 0L
    ), V335 = c(0L, 0L), V336 = c(0L, 0L), V337 = c(0L, 0L), 
    V338 = c(0L, 0L), V339 = c(0L, 0L), V340 = c(0L, 0L), V341 = c(0L, 
    0L), V342 = c(0L, 0L), V343 = c(0L, 0L), V344 = c(7L, 96L
    ), V345 = c(178L, 240L), V346 = 252:253, V347 = c(240L, 243L
    ), V348 = c(71L, 188L), V349 = c(19L, 42L), V350 = c(28L, 
    0L), V351 = c(0L, 96L), V352 = c(0L, 204L), V353 = c(0L, 
    109L), V354 = c(0L, 4L), V355 = c(0L, 0L), V356 = c(0L, 12L
    ), V357 = c(253L, 197L), V358 = c(252L, 251L), V359 = c(195L, 
    31L), V360 = c(0L, 0L), V361 = c(0L, 0L), V362 = c(0L, 0L
    ), V363 = c(0L, 0L), V364 = c(0L, 0L), V365 = c(0L, 0L), 
    V366 = c(0L, 0L), V367 = c(0L, 0L), V368 = c(0L, 0L), V369 = c(0L, 
    0L), V370 = c(0L, 0L), V371 = c(0L, 0L), V372 = c(57L, 221L
    ), V373 = c(252L, 251L), V374 = 252:253, V375 = c(63L, 121L
    ), V376 = c(0L, 0L), V377 = c(0L, 0L), V378 = c(0L, 0L), 
    V379 = c(0L, 36L), V380 = c(0L, 23L), V381 = c(0L, 0L), V382 = c(0L, 
    0L), V383 = c(0L, 0L), V384 = c(0L, 0L), V385 = c(253L, 190L
    ), V386 = c(252L, 251L), V387 = c(195L, 31L), V388 = c(0L, 
    0L), V389 = c(0L, 0L), V390 = c(0L, 0L), V391 = c(0L, 0L), 
    V392 = c(0L, 0L), V393 = c(0L, 0L), V394 = c(0L, 0L), V395 = c(0L, 
    0L), V396 = c(0L, 0L), V397 = c(0L, 0L), V398 = c(0L, 0L), 
    V399 = c(0L, 48L), V400 = c(198L, 234L), V401 = c(253L, 253L
    ), V402 = c(190L, 0L), V403 = c(0L, 0L), V404 = c(0L, 0L), 
    V405 = c(0L, 0L), V406 = c(0L, 0L), V407 = c(0L, 0L), V408 = c(0L, 
    0L), V409 = c(0L, 0L), V410 = c(0L, 0L), V411 = c(0L, 0L), 
    V412 = c(0L, 0L), V413 = c(255L, 191L), V414 = c(253L, 253L
    ), V415 = c(196L, 31L), V416 = c(0L, 0L), V417 = c(0L, 0L
    ), V418 = c(0L, 0L), V419 = c(0L, 0L), V420 = c(0L, 0L), 
    V421 = c(0L, 0L), V422 = c(0L, 0L), V423 = c(0L, 0L), V424 = c(0L, 
    0L), V425 = c(0L, 0L), V426 = c(0L, 44L), V427 = c(76L, 221L
    ), V428 = c(246L, 251L), V429 = c(252L, 251L), V430 = c(112L, 
    0L), V431 = c(0L, 0L), V432 = c(0L, 0L), V433 = c(0L, 0L), 
    V434 = c(0L, 0L), V435 = c(0L, 0L), V436 = c(0L, 0L), V437 = c(0L, 
    0L), V438 = c(0L, 0L), V439 = c(0L, 0L), V440 = c(0L, 12L
    ), V441 = c(253L, 197L), V442 = c(252L, 251L), V443 = c(148L, 
    31L), V444 = c(0L, 0L), V445 = c(0L, 0L), V446 = c(0L, 0L
    ), V447 = c(0L, 0L), V448 = c(0L, 0L), V449 = c(0L, 0L), 
    V450 = c(0L, 0L), V451 = c(0L, 0L), V452 = c(0L, 0L), V453 = c(0L, 
    0L), V454 = c(0L, 190L), V455 = c(85L, 251L), V456 = c(252L, 
    251L), V457 = c(230L, 251L), V458 = c(25L, 0L), V459 = c(0L, 
    0L), V460 = c(0L, 0L), V461 = c(0L, 0L), V462 = c(0L, 0L), 
    V463 = c(0L, 0L), V464 = c(0L, 0L), V465 = c(0L, 0L), V466 = c(0L, 
    0L), V467 = c(7L, 0L), V468 = c(135L, 96L), V469 = c(253L, 
    251L), V470 = c(186L, 251L), V471 = c(12L, 31L), V472 = c(0L, 
    0L), V473 = c(0L, 0L), V474 = c(0L, 0L), V475 = c(0L, 0L), 
    V476 = c(0L, 0L), V477 = c(0L, 0L), V478 = c(0L, 0L), V479 = c(0L, 
    0L), V480 = c(0L, 0L), V481 = c(0L, 0L), V482 = c(0L, 190L
    ), V483 = c(85L, 251L), V484 = c(252L, 251L), V485 = c(223L, 
    113L), V486 = c(0L, 0L), V487 = c(0L, 0L), V488 = c(0L, 0L
    ), V489 = c(0L, 0L), V490 = c(0L, 0L), V491 = c(0L, 0L), 
    V492 = c(0L, 0L), V493 = c(0L, 0L), V494 = c(7L, 0L), V495 = c(131L, 
    40L), V496 = c(252L, 234L), V497 = c(225L, 251L), V498 = c(71L, 
    219L), V499 = c(0L, 23L), V500 = c(0L, 0L), V501 = c(0L, 
    0L), V502 = c(0L, 0L), V503 = c(0L, 0L), V504 = c(0L, 0L), 
    V505 = c(0L, 0L), V506 = c(0L, 0L), V507 = c(0L, 0L), V508 = c(0L, 
    0L), V509 = c(0L, 0L), V510 = c(0L, 190L), V511 = c(85L, 
    251L), V512 = c(252L, 251L), V513 = c(145L, 94L), V514 = c(0L, 
    0L), V515 = c(0L, 0L), V516 = c(0L, 0L), V517 = c(0L, 0L), 
    V518 = c(0L, 0L), V519 = c(0L, 0L), V520 = c(0L, 0L), V521 = c(48L, 
    0L), V522 = c(165L, 40L), V523 = c(252L, 217L), V524 = c(173L, 
    253L), V525 = c(0L, 231L), V526 = c(0L, 47L), V527 = c(0L, 
    0L), V528 = c(0L, 0L), V529 = c(0L, 0L), V530 = c(0L, 0L), 
    V531 = c(0L, 0L), V532 = c(0L, 0L), V533 = c(0L, 0L), V534 = c(0L, 
    0L), V535 = c(0L, 0L), V536 = c(0L, 0L), V537 = c(0L, 0L), 
    V538 = c(0L, 191L), V539 = c(86L, 253L), V540 = c(253L, 253L
    ), V541 = c(225L, 253L), V542 = c(0L, 0L), V543 = c(0L, 0L
    ), V544 = c(0L, 0L), V545 = c(0L, 0L), V546 = c(0L, 0L), 
    V547 = c(0L, 0L), V548 = c(114L, 12L), V549 = c(238L, 174L
    ), V550 = c(253L, 253L), V551 = c(162L, 253L), V552 = c(0L, 
    219L), V553 = c(0L, 39L), V554 = c(0L, 0L), V555 = c(0L, 
    0L), V556 = c(0L, 0L), V557 = c(0L, 0L), V558 = c(0L, 0L), 
    V559 = c(0L, 0L), V560 = c(0L, 0L), V561 = c(0L, 0L), V562 = c(0L, 
    0L), V563 = c(0L, 0L), V564 = c(0L, 0L), V565 = c(0L, 0L), 
    V566 = c(0L, 67L), V567 = c(85L, 236L), V568 = c(252L, 251L
    ), V569 = c(249L, 251L), V570 = c(146L, 191L), V571 = c(48L, 
    190L), V572 = c(29L, 111L), V573 = c(85L, 72L), V574 = c(178L, 
    190L), V575 = c(225L, 191L), V576 = c(253L, 197L), V577 = c(223L, 
    251L), V578 = c(167L, 243L), V579 = c(56L, 121L), V580 = c(0L, 
    39L), V581 = c(0L, 0L), V582 = c(0L, 0L), V583 = c(0L, 0L
    ), V584 = c(0L, 0L), V585 = c(0L, 0L), V586 = c(0L, 0L), 
    V587 = c(0L, 0L), V588 = c(0L, 0L), V589 = c(0L, 0L), V590 = c(0L, 
    0L), V591 = c(0L, 0L), V592 = c(0L, 0L), V593 = c(0L, 0L), 
    V594 = c(0L, 0L), V595 = c(85L, 63L), V596 = c(252L, 236L
    ), V597 = c(252L, 251L), V598 = 252:253, V599 = c(229L, 251L
    ), V600 = c(215L, 251L), V601 = c(252L, 251L), V602 = c(252L, 
    251L), V603 = 252:253, V604 = c(196L, 251L), V605 = c(130L, 
    188L), V606 = c(0L, 94L), V607 = c(0L, 0L), V608 = c(0L, 
    0L), V609 = c(0L, 0L), V610 = c(0L, 0L), V611 = c(0L, 0L), 
    V612 = c(0L, 0L), V613 = c(0L, 0L), V614 = c(0L, 0L), V615 = c(0L, 
    0L), V616 = c(0L, 0L), V617 = c(0L, 0L), V618 = c(0L, 0L), 
    V619 = c(0L, 0L), V620 = c(0L, 0L), V621 = c(0L, 0L), V622 = c(0L, 
    0L), V623 = c(28L, 0L), V624 = c(199L, 27L), V625 = c(252L, 
    129L), V626 = 252:253, V627 = c(253L, 251L), V628 = c(252L, 
    251L), V629 = c(252L, 251L), V630 = c(233L, 251L), V631 = c(145L, 
    229L), V632 = c(0L, 168L), V633 = c(0L, 15L), V634 = c(0L, 
    0L), V635 = c(0L, 0L), V636 = c(0L, 0L), V637 = c(0L, 0L), 
    V638 = c(0L, 0L), V639 = c(0L, 0L), V640 = c(0L, 0L), V641 = c(0L, 
    0L), V642 = c(0L, 0L), V643 = c(0L, 0L), V644 = c(0L, 0L), 
    V645 = c(0L, 0L), V646 = c(0L, 0L), V647 = c(0L, 0L), V648 = c(0L, 
    0L), V649 = c(0L, 0L), V650 = c(0L, 0L), V651 = c(0L, 0L), 
    V652 = c(25L, 0L), V653 = c(128L, 0L), V654 = c(252L, 95L
    ), V655 = c(253L, 212L), V656 = c(252L, 251L), V657 = c(141L, 
    211L), V658 = c(37L, 94L), V659 = c(0L, 59L), V660 = c(0L, 
    0L), V661 = c(0L, 0L), V662 = c(0L, 0L), V663 = c(0L, 0L), 
    V664 = c(0L, 0L), V665 = c(0L, 0L), V666 = c(0L, 0L), V667 = c(0L, 
    0L), V668 = c(0L, 0L), V669 = c(0L, 0L), V670 = c(0L, 0L), 
    V671 = c(0L, 0L), V672 = c(0L, 0L), V673 = c(0L, 0L), V674 = c(0L, 
    0L), V675 = c(0L, 0L), V676 = c(0L, 0L), V677 = c(0L, 0L), 
    V678 = c(0L, 0L), V679 = c(0L, 0L), V680 = c(0L, 0L), V681 = c(0L, 
    0L), V682 = c(0L, 0L), V683 = c(0L, 0L), V684 = c(0L, 0L), 
    V685 = c(0L, 0L), V686 = c(0L, 0L), V687 = c(0L, 0L), V688 = c(0L, 
    0L), V689 = c(0L, 0L), V690 = c(0L, 0L), V691 = c(0L, 0L), 
    V692 = c(0L, 0L), V693 = c(0L, 0L), V694 = c(0L, 0L), V695 = c(0L, 
    0L), V696 = c(0L, 0L), V697 = c(0L, 0L), V698 = c(0L, 0L), 
    V699 = c(0L, 0L), V700 = c(0L, 0L), V701 = c(0L, 0L), V702 = c(0L, 
    0L), V703 = c(0L, 0L), V704 = c(0L, 0L), V705 = c(0L, 0L), 
    V706 = c(0L, 0L), V707 = c(0L, 0L), V708 = c(0L, 0L), V709 = c(0L, 
    0L), V710 = c(0L, 0L), V711 = c(0L, 0L), V712 = c(0L, 0L), 
    V713 = c(0L, 0L), V714 = c(0L, 0L), V715 = c(0L, 0L), V716 = c(0L, 
    0L), V717 = c(0L, 0L), V718 = c(0L, 0L), V719 = c(0L, 0L), 
    V720 = c(0L, 0L), V721 = c(0L, 0L), V722 = c(0L, 0L), V723 = c(0L, 
    0L), V724 = c(0L, 0L), V725 = c(0L, 0L), V726 = c(0L, 0L), 
    V727 = c(0L, 0L), V728 = c(0L, 0L), V729 = c(0L, 0L), V730 = c(0L, 
    0L), V731 = c(0L, 0L), V732 = c(0L, 0L), V733 = c(0L, 0L), 
    V734 = c(0L, 0L), V735 = c(0L, 0L), V736 = c(0L, 0L), V737 = c(0L, 
    0L), V738 = c(0L, 0L), V739 = c(0L, 0L), V740 = c(0L, 0L), 
    V741 = c(0L, 0L), V742 = c(0L, 0L), V743 = c(0L, 0L), V744 = c(0L, 
    0L), V745 = c(0L, 0L), V746 = c(0L, 0L), V747 = c(0L, 0L), 
    V748 = c(0L, 0L), V749 = c(0L, 0L), V750 = c(0L, 0L), V751 = c(0L, 
    0L), V752 = c(0L, 0L), V753 = c(0L, 0L), V754 = c(0L, 0L), 
    V755 = c(0L, 0L), V756 = c(0L, 0L), V757 = c(0L, 0L), V758 = c(0L, 
    0L), V759 = c(0L, 0L), V760 = c(0L, 0L), V761 = c(0L, 0L), 
    V762 = c(0L, 0L), V763 = c(0L, 0L), V764 = c(0L, 0L), V765 = c(0L, 
    0L), V766 = c(0L, 0L), V767 = c(0L, 0L), V768 = c(0L, 0L), 
    V769 = c(0L, 0L), V770 = c(0L, 0L), V771 = c(0L, 0L), V772 = c(0L, 
    0L), V773 = c(0L, 0L), V774 = c(0L, 0L), V775 = c(0L, 0L), 
    V776 = c(0L, 0L), V777 = c(0L, 0L), V778 = c(0L, 0L), V779 = c(0L, 
    0L), V780 = c(0L, 0L), V781 = c(0L, 0L), V782 = c(0L, 0L), 
    V783 = c(0L, 0L), V784 = c(0L, 0L)), .Names = c("class", 
"V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", 
"V11", "V12", "V13", "V14", "V15", "V16", "V17", "V18", "V19", 
"V20", "V21", "V22", "V23", "V24", "V25", "V26", "V27", "V28", 
"V29", "V30", "V31", "V32", "V33", "V34", "V35", "V36", "V37", 
"V38", "V39", "V40", "V41", "V42", "V43", "V44", "V45", "V46", 
"V47", "V48", "V49", "V50", "V51", "V52", "V53", "V54", "V55", 
"V56", "V57", "V58", "V59", "V60", "V61", "V62", "V63", "V64", 
"V65", "V66", "V67", "V68", "V69", "V70", "V71", "V72", "V73", 
"V74", "V75", "V76", "V77", "V78", "V79", "V80", "V81", "V82", 
"V83", "V84", "V85", "V86", "V87", "V88", "V89", "V90", "V91", 
"V92", "V93", "V94", "V95", "V96", "V97", "V98", "V99", "V100", 
"V101", "V102", "V103", "V104", "V105", "V106", "V107", "V108", 
"V109", "V110", "V111", "V112", "V113", "V114", "V115", "V116", 
"V117", "V118", "V119", "V120", "V121", "V122", "V123", "V124", 
"V125", "V126", "V127", "V128", "V129", "V130", "V131", "V132", 
"V133", "V134", "V135", "V136", "V137", "V138", "V139", "V140", 
"V141", "V142", "V143", "V144", "V145", "V146", "V147", "V148", 
"V149", "V150", "V151", "V152", "V153", "V154", "V155", "V156", 
"V157", "V158", "V159", "V160", "V161", "V162", "V163", "V164", 
"V165", "V166", "V167", "V168", "V169", "V170", "V171", "V172", 
"V173", "V174", "V175", "V176", "V177", "V178", "V179", "V180", 
"V181", "V182", "V183", "V184", "V185", "V186", "V187", "V188", 
"V189", "V190", "V191", "V192", "V193", "V194", "V195", "V196", 
"V197", "V198", "V199", "V200", "V201", "V202", "V203", "V204", 
"V205", "V206", "V207", "V208", "V209", "V210", "V211", "V212", 
"V213", "V214", "V215", "V216", "V217", "V218", "V219", "V220", 
"V221", "V222", "V223", "V224", "V225", "V226", "V227", "V228", 
"V229", "V230", "V231", "V232", "V233", "V234", "V235", "V236", 
"V237", "V238", "V239", "V240", "V241", "V242", "V243", "V244", 
"V245", "V246", "V247", "V248", "V249", "V250", "V251", "V252", 
"V253", "V254", "V255", "V256", "V257", "V258", "V259", "V260", 
"V261", "V262", "V263", "V264", "V265", "V266", "V267", "V268", 
"V269", "V270", "V271", "V272", "V273", "V274", "V275", "V276", 
"V277", "V278", "V279", "V280", "V281", "V282", "V283", "V284", 
"V285", "V286", "V287", "V288", "V289", "V290", "V291", "V292", 
"V293", "V294", "V295", "V296", "V297", "V298", "V299", "V300", 
"V301", "V302", "V303", "V304", "V305", "V306", "V307", "V308", 
"V309", "V310", "V311", "V312", "V313", "V314", "V315", "V316", 
"V317", "V318", "V319", "V320", "V321", "V322", "V323", "V324", 
"V325", "V326", "V327", "V328", "V329", "V330", "V331", "V332", 
"V333", "V334", "V335", "V336", "V337", "V338", "V339", "V340", 
"V341", "V342", "V343", "V344", "V345", "V346", "V347", "V348", 
"V349", "V350", "V351", "V352", "V353", "V354", "V355", "V356", 
"V357", "V358", "V359", "V360", "V361", "V362", "V363", "V364", 
"V365", "V366", "V367", "V368", "V369", "V370", "V371", "V372", 
"V373", "V374", "V375", "V376", "V377", "V378", "V379", "V380", 
"V381", "V382", "V383", "V384", "V385", "V386", "V387", "V388", 
"V389", "V390", "V391", "V392", "V393", "V394", "V395", "V396", 
"V397", "V398", "V399", "V400", "V401", "V402", "V403", "V404", 
"V405", "V406", "V407", "V408", "V409", "V410", "V411", "V412", 
"V413", "V414", "V415", "V416", "V417", "V418", "V419", "V420", 
"V421", "V422", "V423", "V424", "V425", "V426", "V427", "V428", 
"V429", "V430", "V431", "V432", "V433", "V434", "V435", "V436", 
"V437", "V438", "V439", "V440", "V441", "V442", "V443", "V444", 
"V445", "V446", "V447", "V448", "V449", "V450", "V451", "V452", 
"V453", "V454", "V455", "V456", "V457", "V458", "V459", "V460", 
"V461", "V462", "V463", "V464", "V465", "V466", "V467", "V468", 
"V469", "V470", "V471", "V472", "V473", "V474", "V475", "V476", 
"V477", "V478", "V479", "V480", "V481", "V482", "V483", "V484", 
"V485", "V486", "V487", "V488", "V489", "V490", "V491", "V492", 
"V493", "V494", "V495", "V496", "V497", "V498", "V499", "V500", 
"V501", "V502", "V503", "V504", "V505", "V506", "V507", "V508", 
"V509", "V510", "V511", "V512", "V513", "V514", "V515", "V516", 
"V517", "V518", "V519", "V520", "V521", "V522", "V523", "V524", 
"V525", "V526", "V527", "V528", "V529", "V530", "V531", "V532", 
"V533", "V534", "V535", "V536", "V537", "V538", "V539", "V540", 
"V541", "V542", "V543", "V544", "V545", "V546", "V547", "V548", 
"V549", "V550", "V551", "V552", "V553", "V554", "V555", "V556", 
"V557", "V558", "V559", "V560", "V561", "V562", "V563", "V564", 
"V565", "V566", "V567", "V568", "V569", "V570", "V571", "V572", 
"V573", "V574", "V575", "V576", "V577", "V578", "V579", "V580", 
"V581", "V582", "V583", "V584", "V585", "V586", "V587", "V588", 
"V589", "V590", "V591", "V592", "V593", "V594", "V595", "V596", 
"V597", "V598", "V599", "V600", "V601", "V602", "V603", "V604", 
"V605", "V606", "V607", "V608", "V609", "V610", "V611", "V612", 
"V613", "V614", "V615", "V616", "V617", "V618", "V619", "V620", 
"V621", "V622", "V623", "V624", "V625", "V626", "V627", "V628", 
"V629", "V630", "V631", "V632", "V633", "V634", "V635", "V636", 
"V637", "V638", "V639", "V640", "V641", "V642", "V643", "V644", 
"V645", "V646", "V647", "V648", "V649", "V650", "V651", "V652", 
"V653", "V654", "V655", "V656", "V657", "V658", "V659", "V660", 
"V661", "V662", "V663", "V664", "V665", "V666", "V667", "V668", 
"V669", "V670", "V671", "V672", "V673", "V674", "V675", "V676", 
"V677", "V678", "V679", "V680", "V681", "V682", "V683", "V684", 
"V685", "V686", "V687", "V688", "V689", "V690", "V691", "V692", 
"V693", "V694", "V695", "V696", "V697", "V698", "V699", "V700", 
"V701", "V702", "V703", "V704", "V705", "V706", "V707", "V708", 
"V709", "V710", "V711", "V712", "V713", "V714", "V715", "V716", 
"V717", "V718", "V719", "V720", "V721", "V722", "V723", "V724", 
"V725", "V726", "V727", "V728", "V729", "V730", "V731", "V732", 
"V733", "V734", "V735", "V736", "V737", "V738", "V739", "V740", 
"V741", "V742", "V743", "V744", "V745", "V746", "V747", "V748", 
"V749", "V750", "V751", "V752", "V753", "V754", "V755", "V756", 
"V757", "V758", "V759", "V760", "V761", "V762", "V763", "V764", 
"V765", "V766", "V767", "V768", "V769", "V770", "V771", "V772", 
"V773", "V774", "V775", "V776", "V777", "V778", "V779", "V780", 
"V781", "V782", "V783", "V784"), row.names = 1:2, class = "data.frame")

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Ваш код отлично работает в воспроизводимых данных. Я предполагаю, что в ваших данных отсутствуют некоторые значения, так что NA будет существовать в вашем identical.

Например:

df <- data.frame(V1 = c(0, 0), V2 = c(0, NA), V3 = c(0, 1))

df
#   V1 V2 V3
# 1  0  0  0
# 2  0 NA  1

identical <- apply(df, 2, function(v){all(v == v[1])})

identical
#    V1    V2     V3 
#  TRUE    NA  FALSE 

tr_data_n <- tr_data[, !identical]

Ошибка в `[.data.frame` (tr_data,! Идентично): выбраны неопределенные столбцы

Вы видите, что приведенные выше данные вызывают ту же ошибку, что и ваши. Поэтому вам может понадобиться сначала проверить и обработать пропущенные значения. Только один NA заставит ваш код получить ошибку.

0 голосов
/ 12 января 2019

Вы, должно быть, где-то сделали опечатку. Запуск кода ниже работает нормально. Также структура ваших данных отличается от той, что указана в вашей «примерной» ссылке.

filePath <- "http://www.statslab.cam.ac.uk/~tw389/teaching/SLP18/data/"
fileName <- "mnist.csv"
mnist <- read.csv(paste0(filePath, fileName), header = TRUE)
train <- mnist[1:4000,]
str(train)
identical <- apply(train, 2, function(v){all(v==v[1])})
train <- train[,!identical]
test <- mnist[4001:6000,!identical]

Использование ваших данных тоже работает.

identical <- apply(tr_data2, 2, function(v){all(v==v[1])})
tr_data_n <- tr_data2[,!identical]
...