Hi, I want to use the first digit of the elements of a vector. I've tried grep but didn't work. Any help is welcome. Thanks EJ> grep("^[0-9]",as.character(runif(100,0,2)))[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 [91] 91 92 93 94 95 96 97 98 99 100
Ernesto Jardim wrote:> Hi, > > I want to use the first digit of the elements of a vector. > > I've tried grep but didn't work. > > Any help is welcome. > > Thanks > > EJ > > >>grep("^[0-9]",as.character(runif(100,0,2))) > > [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > 17 18 > [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 > 35 36 > [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 > 53 54 > [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 > 71 72 > [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 > 89 90 > [91] 91 92 93 94 95 96 97 98 99 100 >Not surprising. Try ?substring instead. substring(runif(100, 0, 2), 1, 1) -sundar
Ernesto Jardim wrote:> I want to use the first digit of the elements of a vector. > > I've tried grep but didn't work. > > Any help is welcome.substr(as.character(runif(100,0,2)), 1, 1) see ?substr -- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 452-1424 (M, W, F) fax: (917) 438-0894
On Fri, 2004-03-12 at 11:08, Ernesto Jardim wrote:> Hi, > > I want to use the first digit of the elements of a vector. > > I've tried grep but didn't work. > > Any help is welcome. > > Thanks > > EJ > > > grep("^[0-9]",as.character(runif(100,0,2))) > [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > 17 18 > [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 > 35 36 > [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 > 53 54 > [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 > 71 72 > [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 > 89 90 > [91] 91 92 93 94 95 96 97 98 99 100How about ?substr> substr(as.character(runif(100, 0, 2)), 1, 1)[1] "0" "1" "0" "1" "0" "0" "0" "0" "0" "1" "1" "1" "0" "0" "1" "0" [17] "1" "0" "1" "1" "1" "1" "0" "1" "0" "1" "0" "1" "1" "0" "1" "0" [33] "1" "0" "1" "0" "0" "1" "0" "0" "0" "0" "0" "0" "0" "0" "1" "0" [49] "1" "1" "0" "0" "0" "1" "1" "1" "0" "1" "0" "1" "0" "1" "1" "1" [65] "1" "0" "1" "1" "1" "1" "1" "0" "1" "1" "0" "1" "0" "1" "0" "0" [81] "1" "1" "0" "0" "1" "1" "0" "1" "0" "0" "0" "0" "0" "0" "0" "1" [97] "0" "0" "0" "1" or> substr(as.character(1:100), 1, 1)[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "1" "1" "1" "1" "1" "1" "1" [17] "1" "1" "1" "2" "2" "2" "2" "2" "2" "2" "2" "2" "2" "3" "3" "3" [33] "3" "3" "3" "3" "3" "3" "3" "4" "4" "4" "4" "4" "4" "4" "4" "4" [49] "4" "5" "5" "5" "5" "5" "5" "5" "5" "5" "5" "6" "6" "6" "6" "6" [65] "6" "6" "6" "6" "6" "7" "7" "7" "7" "7" "7" "7" "7" "7" "7" "8" [81] "8" "8" "8" "8" "8" "8" "8" "8" "8" "9" "9" "9" "9" "9" "9" "9" [97] "9" "9" "9" "1" HTH, Marc Schwartz
Ernesto - Use as.numeric(substr(as.character(x), 1, 1)). - tom blackwell - u michigan medical school - ann arbor - On Fri, 12 Mar 2004, Ernesto Jardim wrote:> Hi, > > I want to use the first digit of the elements of a vector. > > I've tried grep but didn't work. > > Any help is welcome. > > Thanks > > EJ > > > grep("^[0-9]",as.character(runif(100,0,2))) > [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > 17 18 > [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 > 35 36 > [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 > 53 54 > [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 > 71 72 > [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 > 89 90 > [91] 91 92 93 94 95 96 97 98 99 100 > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >
as.integer(x/10^(as.integer(log10(x)))) -----Original Message----- From: Ernesto Jardim [mailto:ernesto at ipimar.pt] Sent: Friday, March 12, 2004 12:08 PM To: Mailing List R Subject: [R] grep Hi, I want to use the first digit of the elements of a vector. I've tried grep but didn't work. Any help is welcome. Thanks EJ> grep("^[0-9]",as.character(runif(100,0,2)))[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 [91] 91 92 93 94 95 96 97 98 99 100 ______________________________________________ R-help at stat.math.ethz.ch mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html