matching vectors
You can use something like this to make sure that h2 is a subset of h1 in consecutive order:
h1 <- 1:50 h2 <- 25:30 hm <- match(h2, h1) all(diff(hm) == 1)
[1] TRUE
On Tue, Mar 17, 2009 at 6:42 AM, emj83 <stp08emj at shef.ac.uk> wrote:
I have two numerical vectors; hun2 is a subset of hun1:
hun1
?[1] 147 198 141 170 184 136 150 134 144 161 124 103 107 110 121 ?79 106 51 ?[19] 102 109 ?52 ?71 ?52 ?80 ?95 ?78 ?75 ?96 101 107 107 ?80 ?71 ?49 ?71 64 ?[37] ?58 ?68 ?75 ?85 ?55 ?52 ?70 ?90 ?98 ?90 100 ?98 ?74 ?78 ?60 ?69 106 103 ?[55] 106 124 111 ?97 ?66 ?83 ?54 ?58 ?74 ?76 ?73 101 ?68 ?50 ?45 ?69 ?69 75 ?[73] ?80 ?55 ?79 ?58 ?61 ?72 ?90 ?91 ?99 ?58 ?63 ?57 ?72 ?36 ?58 ?44 ?63 54 ?[91] ?39 ?41 ?48 ?65 ?86 ?73 ?74 ?69 ?66 ?59 ?52 ?68 ?91 100 151 112 119 93 [109] ?66 ?73 ?87 ?99 ?79 109 ?94 ?80 ?63 ?51 ?46 ?39 ?28 ?34 ?49 ?45 ?36 32 [127] ?36 ?39 ?52 ?63 ?59 ?47 ?57 ?52 ?46 ?39 ?54 ?53 ?80 ?43 ?48 ?37 ?42 43 [145] ?47 ?34 ?42 ?45 ?50 ?48 ?49 ?55 ?62 ?46 ?61 ?60 ?42 ?48 ?58 ?49 ?60
hun2
?[1] 151 112 119 ?93 ?66 ?73 ?87 ?99 ?79 109 ?94 ?80 ?63 ?51 ?46 ?39 ?28 ?34 49 [20] ?45 ?36 ?32 ?36 ?39 ?52 ?63 ?59 ?47 ?57 ?52 ?46 ?39 ?54 ?53 ?80 ?43 ?48 37 [39] ?42 ?43 ?47 ?34 ?42 ?45 ?50 ?48 ?49 ?55 ?62 ?46 ?61 ?60 ?42 ?48 ?58 ?49 60 i want to cbind hun1 to hun2 at the position where they match. i have attempted to start this by using pmatch() to identify where it is they match- i get the following results.
pmatch(hun1,hun2,duplicates.ok=TRUE)
?[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA ?9 NA 14 NA 10 25 NA 25 12 NA ?[26] NA NA NA NA NA NA 12 NA 19 NA NA 55 NA NA NA 48 25 NA NA NA NA NA NA NA NA ?[51] 52 NA NA NA NA NA NA NA ?5 NA 33 55 NA NA ?6 NA NA 45 20 NA NA NA 12 48 ?9 ?[76] 55 51 NA NA NA ?8 55 13 29 NA 21 55 NA 13 33 16 NA 37 NA NA ?6 NA NA 5 27 [101] 25 NA NA NA ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10 11 12 13 14 15 16 17 18 19 20 21 [126] 22 21 16 25 13 27 28 29 25 15 16 33 34 12 36 37 38 39 36 28 18 39 20 45 37 [151] 19 48 49 15 51 52 39 37 55 19 52 is there anyway that i can specify pmatch() to work if and only if it identifies all of hun2: something like this??? ?[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA ?[26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA ?[51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA ?[76] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [101] NA NA NA NA NA NA NA NA NA ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 10 11 12 13 14 15 16 [126] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [151] 42 43 44 45 46 47 48 49 50 51 52 -- View this message in context: http://www.nabble.com/matching-vectors-tp22556470p22556470.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ R-help at r-project.org mailing list 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.
Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve?