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.