[R] simple "for loop" program for merging datasets?

David Winsemius
Thu, 19 Mar 2009 22:32:18 -0000

You say you want to merge the two datasets on Country but the last
step in you unsuccessful effort tries to match the results of the
nested loop  (necessarily with values of Measure2 from B) to B which
has 3 rows. You never told us what the final results of this effort
should be. but surely it is not matching Measure2 up with elements in B.

(Also notice that Country_A[j]= =(Country_B[i] could not possibly do
anything useful due to the space between the two equal signs.)

Try again to construct a sensible question, copy the results from your
efforts, and someone will take a stab at offering help.

I suggest you offer dput(A) and dput(B) so we can see whether the
colnames really have spaces in them.

--
David Winsemius


On Mar 19, 2009, at 5:35 PM, J S wrote:

>
> Dear R community,
>
> I would like to merge two datasets based on the categorical
> predictor ?country?.
>
> Dataset A:
>
> Country           Measure1
> Afganistan        1
> Afganistan        1
> Russia              5
> Poland 3
> Poland              2
>
> Dataset B:
>
> Country           Measure 2
> Russia              2
> Afganistan        10
> Poland              15
>
> My program does not work:
>
> Country_A<-A$Country
> Country_B<-B$Country
> Measure2<-B$Measure2
>
> for(i in 1:nrow(B)){
> for(j in 1:nrow(A){
> w[j]<-ifelse(Country_A[j]= =(Country_B[i]),Measure2[i], NA)
> }}
>
> A2<-cbind(B,w)
>
>
> Thanks, Julia
>
> _________________________________________________________________
>
>
> 	[[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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT