J'ai deux vecteurs A, B où B peut être 1 unité plus longue qu'un. Dans ce cas, je dois retirer le dernier élément de vecteur B pour les rendre égaux. J'ai essayé de suivre: dans les deux cas, je reçois p> mais quand je le fais sortir de ifelse () puis je peux obtenir Ce que j'attends: p> Je sais comment écrire ceci en utilisant "si", mais je cherche une meilleure option. P> P>
3 Réponses :
Je voudrais simplement sousper le vecteur à l'aide de la longueur du premier vecteur comme limite supérieure:
Comment sauriez-vous que ce vecteur est le plus petit? Peut-être que c'est mieux de le généraliser un peu plus ...
J'ai deux vecteurs A, B où B peut être 1 unité plus longue qu'un code> ... J'ai répondu en fonction des hypothèses données dans l'OP.
Cependant, dans ce cas Vous n'avez pas besoin des deux. Vous pouvez parcourir l'index de ifelse code> est destiné aux conditions vectorisées, vous vérifiez ici une condition scalaire afin que vous puissiez utiliser
si code> (si vous devez).
A code> qui donnera une longueur correcte de
B code> si elle est plus longue ou de même longueur. P>
b[seq_along(a)]
#[1] 1 2 3
length(b) <- length(a) b [1] 1 2 3
Posibble Dupe: Stackoverflow.com/Questtions/21217849/...