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@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

______________________________________________
R-help@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.

Reply via email to