Hi, Here I use the data.frame b as an example to show how it can be accomplished. The sixth column of b has values 6 through 996 by an increment of 10. The statement sapply(b[,6],function(x)if(x==6){0}else{if(x==996){2}else{1}}) assigns 0 to 6, 2 to 996 and 1 to the rest in column 6. In your case you may use
sapply(b[,6],function(x)if(x==24){2}else{if(x==26){3}else{1}}) (Note: did you forget to assign a value to 25?) > a <- matrix(1:1000, ncol=10, byrow=TRUE) > b <- data.frame(a) > b[,6] <- sapply(b[,6],function(x)if(x==6){0}else{if(x==996){2}else{1}}) > b <- data.frame(a) > b[,6] [1] 6 16 26 36 46 56 66 76 86 96 106 116 126 136 146 156 166 176 186 196 206 216 226 236 [25] 246 256 266 276 286 296 306 316 326 336 346 356 366 376 386 396 406 416 426 436 446 456 466 476 [49] 486 496 506 516 526 536 546 556 566 576 586 596 606 616 626 636 646 656 666 676 686 696 706 716 [73] 726 736 746 756 766 776 786 796 806 816 826 836 846 856 866 876 886 896 906 916 926 936 946 956 [97] 966 976 986 996 > b[,6] <- sapply(b[,6],function(x)if(x==6){0}else{if(x==996){2}else{1}}) > b[,6] [1] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [50] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [99] 1 2 -- View this message in context: http://r.789695.n4.nabble.com/Re-categorizing-components-of-varaibles-tp4703424p4703434.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.