[R] Odp: Finding pairs
Petr PIKAL
petr.pikal at precheza.cz
Wed Aug 25 16:05:27 CEST 2010
Hi
well, I will add some explanation
r-help-bounces at r-project.org napsal dne 25.08.2010 11:24:38:
> Dear Mr Petr PIKAL
> After reading the R code provided by you, I realized that I would have
never
> figured out how this could have been done. I am going to re-read again
and
> again your code to understand the logic and the commands you have
provided.
> Thanks again from the heart for your kind advice.
> Regards
> Mike
>
> --- On Wed, 25/8/10, Petr PIKAL <petr.pikal at precheza.cz> wrote:
>
> From: Petr PIKAL <petr.pikal at precheza.cz>
> Subject: Re: [R] Odp: Finding pairs
> To: "Mike Rhodes" <mike_simpson07 at yahoo.co.uk>
> Cc: r-help at r-project.org
> Date: Wednesday, 25 August, 2010, 9:01
>
> Hm
>
> r-help-bounces at r-project.org napsal dne 25.08.2010 09:43:26:
>
> > Dear Mr Petr Pikal
> >
> > I am extremely sorry for the manner I have raised the query. Actually
> that was
> > my first post to this R forum and in fact even I was also bit confused
> while
> > drafting the query, for which I really owe sorry to all for consuming
> the
> > precious time. Perhaps I will try to redraft my query in a better way
as
> follows.
> >
> > I have two datasets "A" and "B" containing the names of branch offices
> of a
> > particular bank say XYZ plc bank. The XYZ bank has number of main
branch
>
> > offices (say Parent) and some small branch offices falling under the
> purview
> > of these main branch offices (say Child).
> >
> > The datalist "A" and "B" consists of these main branch office names as
> well as
> > small branch office names. B is subset of A and these branch names are
> coded.
> > Thus we have two datasets A and B as (again I am using only a
> > portion of a large database just to have some idea)
> >
> >
> > A B
> > 144
> ^^^^what is here in B? Empty space?,
> > 145
> > 146
> > 147 144
>
> How do you know that 144 from B relates to 147 in A? Is it according to
> its positions? I.e. 4th item in B belongs to 4.th item in A?
>
> > 148 145
> >
> > 149 147
> > 151 148
> >
> >
> >
> > Now the branch 144 appears in A as well as in B and in B it is mapped
> with
> > 147. This means branch 147 comes under the purview of main branch 144.
> Again
> > 147 is controlling the branch 149 (since 147 also has appeared in B
and
> is
> > mapped with 149 of A).
> >
> > Similarly, branch 145 is controlling branch 148 which further controls
> > operations of bank branch 151 and like wise.
>
> Well as you did not say anything about structure of your data
> A<-144:151
> B<-144:148
> data.frame(A,B)
> A B
> 1 144 NA
> 2 145 NA
> 3 146 NA
> 4 147 144
> 5 148 145
> 6 149 146
> 7 150 147
> 8 151 148
> DF<-data.frame(A,B)
This was just making a data frame with 2 columns to have some data to play
with
> main<-DF$A[is.na(DF$B)]
Above are codes from A which are NA in B
> branch1<-DF[!is.na(DF$B),]
Above is data frame of remaining codes (other than main)
> selected.branch1<-branch1$A[branch1$B%in%main]
Above is codes from column A for which B column and main are the same
> branch2<-branch1[!branch1$B%in%main,]
This is the rest of yet not selected rows
> selected.branch2<-branch2$A[branch2$B%in%selected.branch1]
and this is selection of values from column A for which B column and
selected.branch1 values are same.
But it works for this particular data, I am not sure how it behaves with
duplicates and further issues. It also depends on how your data is
organised.
And if you are in reading you could also go through setdiff, merge and
maybe sqldf package and Rdata Import/export manual
Regards
Petr
>
> and for cbinding your data which has uneven number of values see Jim
> Holtman's answer to this
>
> How to cbind DF:s with differing number of rows?
>
> Regards
> Petr
>
>
> >
> > So in the end I need an output something like -
> >
> > Main Branch Branch office1 Branch
> > office2
> > 144 147
149
> > 145 148
151
>
> > 146 NA
> > NA
> >
>
...............................................................................
> >
>
..............................................................................
> >
> >
> > I understand again I am not able to put forward my query properly. But
I
> must
> > thank all of you for giving a patient reading to my query and for
> reverting
> > back earlier. Thanks once again.
> >
> > With warmest regards
> >
> > Mike
> >
> >
> > --- On Wed, 25/8/10, Petr PIKAL <petr.pikal at precheza.cz> wrote:
> >
> > From: Petr PIKAL <petr.pikal at precheza.cz>
> > Subject: Odp: [R] Finding
> > pairs
> > To: "Mike Rhodes" <mike_simpson07 at yahoo.co.uk>
> > Cc: r-help at r-project.org
> > Date: Wednesday, 25 August, 2010, 6:39
> >
> > Hi
> >
> > without other details it is probably impossible to give you any
> reasonable
> > advice. Do you have your data already in R? What is their form? Are
they
>
> > in 2 columns in data frame? How did you get them paired?
> >
> > So without some more information probably nobody will invest his time
as
>
> > it seems no trivial to me.
> >
> > Regards
> > Petr
> >
> > r-help-bounces at r-project.org napsal dne 24.08.2010 20:28:42:
> >
> > >
> > >
> > >
> > >
> > > Dear R Helpers,
> > >
> > >
> > > I am a newbie and recently got introduced to R. I have a large
> database
> > > containing the names of bank branch offices along-with other
details.
> I
> > am
> > > into Operational
> > Risk as envisaged by BASEL II Accord.
> > >
> > >
> > > I am trying to express my problem and I am using only an indicative
> data
> > which
> > > comes in coded format.
> > >
> > >
> > >
> > >
> > > A (branch) B (controlled by)
> > >
> > >
> > > 144
> > > 145
> > > 146
> > > 147 144
> > > 148 145
> > > 149
> > 147
> > > 151 146
> > > ...... .......
> > >
> > > ...... .......
> > >
> > >
> > > where 144's etc are branch codes in a given city and B is subset of
A.
> > >
> > >
> > >
> > >
> > > If a branch code appearing in "A" also appears in "B" (which is
paired
>
> > with
> > > some otehr element of A e.g. 144 appearing in A, also appears in "B"
> and
> > is
> > > paired with 147 of "A" and
> > likewise), then that means 144 is controlling
> >
> > > operations of bank office 147. Again, 147 itself appears again in B
> and
> > is
> > > paired with bank branch coded 149. Thus, 149 is controlled by 147
and
> > 147 is
> > > controlled by 144. Likewise there are more than 700 hundred branch
> name
> > codes available.
> > >
> > >
> > > My objective is to group them as follows -
> > >
> > >
> > > Bank Branch
> > >
> > >
> > > 144 147 149
> > >
> > >
> > > 145
> > >
> > >
> > > 146 151
> > >
> > >
> > > 148
> > > .....
> > >
> > >
> > > or even the following output will do.
> > >
> > >
> > > 144
> > > 147
> > > 149
> > >
> > >
> > > 145
> > >
> > >
> > > 146
> > > 151
> > >
> > >
> > > 148
> > > 151
> > > ......
> > >
> > >
> > > I understand I should be writing some R
> > code to begin with which I had
> > tried
> > > also but as of now I am helpless. Please guide me.
> > >
> > >
> > > Mike
> > >
> > >
> > >
> > >
> > >
> > > [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > 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.
> >
> >
> >
> >
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > 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.
>
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
More information about the R-help
mailing list