[R] problem in matching numbers in two variables
Berend Hasselman
bhh at xs4all.nl
Sat Apr 28 18:54:13 CEST 2012
On 28-04-2012, at 17:28, sagarnikam123 wrote:
> i want to compare two variables (having numbers) serially for
> matching/dismatching
> both having equal length
>
>> x
> [1] 2 2 1 2 3 2 2 2 2 3 3 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 3 2 3 2 2 2 1
> 2 2
> [38] 2 2 2 3 2 3 2 2 1 2 2 2 2 1 1 1 3 2 2 2 2 1 1 3 1 1 1 2 2 2 3 2 3 3 3
> 2 2
> [75] 2 2 3 2 2 1 1 1 2 3 2 2 2 2 2 2 2 2 2 1 1 3 2 2 2 2 2 2 2 2 2 2 2 1 3
>> y
> [1] 2 2 2 1 3 1 3 2 1 3 3 3 3 2 2 1 2 3 3 3 1 1 2 2 2 2 2 2 1 2 3 1 2 2 1
> 1 2
> [38] 1 2 3 2 1 3 1 1 2 2 2 2 1 2 1 2 3 2 3 2 1 2 2 3 1 1 1 2 2 2 3 2 3 3 3
> 3 3
> [75] 2 2 1 2 1 2 1 2 1 3 3 3 1 2 2 2 1 2 1 2 2 3 2 3 2 3 2 2 2 2 1 2 2 2 3
>> length(x)
> [1] 109
>> length(y)
> [1] 109
>> #both having equal length
>> which(x%in%y) #gives no of matches positions
> [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 101 102 103 104 105 106 107
> 108
> [109] 109
>> length(which(x%in%y))
> [1] 109
>
> it show that all numbers are matched ,but in real this is not true
> so,how to find matched numbers from two variables(numeric) like this?
Please use dput() in future.
It's not quite clear what you exactly want but maybe this will do
x == y
which(x==y)
Berend
More information about the R-help
mailing list