0
votes

Comment trouver des doublons dans chaque rangée de r

Comment trouvez-vous s'il y a des duplicats dans une rangée en utilisant r?

Le fichier ci-joint est un exemple de hiérarchie déclarante de superviseur. Il ne devrait y avoir aucun numéro de répétition dans une rangée, car chaque personne ne peut pas rapporter à quelqu'un de la hiérarchie.

Dans l'exemple d'image, la rangée 2 a deux 6, la rangée 3 présente deux 10, donc je souhaite créer une colonne "Duplicate" indiquant "Y" pour des doubles duplicats. Toute autre suggestion est la bienvenue.

 Entrez la description de l'image ici

est un 'pour la boucle (pour I dans 1: nrow)' ou "appliquer" une meilleure option?


0 commentaires

4 Réponses :


1
votes

Nous pouvons vérifier avec dupliqué code> en bouclant sur les lignes, obtenez un vecteur logique comme sortie et modifiez-le "N", "Y" après la conversion en binaire

df1 <- data.frame(Sup1 = c(1, 5, 9, 13), Sup2 = c(2, 6, 10, 14),
    Sup3 = c(3, 6, 11, 15), Sup4 = c(4, 8, 10, 16), Sup5 = c(20, 22, 11, 13))


0 commentaires

1
votes

une autre option de base r xxx

telle que xxx

données Xxx


0 commentaires

1
votes

Vous pouvez faire la colonne à l'aide de ifelse () xxx


2 commentaires

Merci! C'était une solution simple! Pourquoi ne pouvons-nous pas utiliser cela à la place? Appliquer (test, 1, fonction (ligne) ifelse (tout (dupliqué (ligne)), "y", "n"))


C'est même mieux!



1
votes

Nous pouvons utiliser table pour compter le nombre d'occurrences dans chaque ligne et retourner "y" si une valeur est répétée. xxx


2 commentaires

Merci ronak! Que fait le '+1'?


@Amandalow La sortie de Appliquer est un vecteur logique ( true / false ). Nous les changeons respectivement aux 2 et 1 en utilisant +1 qui est ensuite utilisé pour sous-ensemble "n" et "y" .