Ifelse() avec trois conditions

J'ai deux vecteurs:

a<-rep(1:2,100)

b<-sample(a)

Je voudrais avoir un ifelse condition qui compare chaque valeur de a avec la valeur correspondante de b, et effectue les opérations suivantes:

if a>b 1
if a<b 0
if a=b sample(1:2,length(a),replace=T)

les deux premiers peuvent être fait avec :

ifelse(a>b,1,0)

mais je ne suis pas sûr de savoir comment intégrer le cas où a et b sont égaux.

pensez également à utiliser switch qui est conçu pour ce cas (où vous avez si/autre/autre/autre...). En combinant ceci avec apply peut vous obtenir où vous voulez être, d'élégance.

OriginalL'auteur ghb | 2013-09-02