En R, comment tester un vecteur pour voir s'il contient un élément donné ?
Pourquoi ne pas obtenir toutes les apparitions, et pas seulement la première ?
En R, comment tester un vecteur pour voir s'il contient un élément donné ?
Votre which(v, 'b')
me donne un message d'erreur : >Erreur dans which(v, 'b') : l'argument de 'which' n'est pas logique
is.element()
permet de rendre le code plus lisible, et est identique à %in%
v <- c('a','b','c','e')
is.element('b', v)
'b' %in% v
## both return TRUE
is.element('f', v)
'f' %in% v
## both return FALSE
subv <- c('a', 'f')
subv %in% v
## returns a vector TRUE FALSE
is.element(subv, v)
## returns a vector TRUE FALSE
Je sais que la documentation dit is.element(x, y) is identical to x %in% y
. Mais, je ne sais pas pourquoi, is.elements
fonctionne lorsque l'on mélange des entiers et des numériques et %in%
n'a pas
which
est en fait parfois préférable car elle vous donne tous les positions correspondantes (sous forme de tableau), contrairement à match
. Bien que ce ne soit peut-être pas ce que le PO a demandé, contrairement aux stackoverflow.com/questions/1169388/
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
48 votes
Je me demande parfois pourquoi R n'utilise pas le mot "contient" pour faciliter la tâche des utilisateurs.
23 votes
Considérez que "in" est contenu dans "conta(in)s" ; je dirais que "in" est un concurrent considérablement plus concis dans ce contexte.
1 votes
Peut-être qu'avec l'ajout de flancs
%
c'est-à-dire des signes. Le motin
est un mot réservé en R utilisé dans la construction des boucles for.0 votes
@greg121 dplyr a déjà une contient mais elle est utilisée dans un but différent : pour sélectionner une colonne dans un cadre de données. Par exemple
select(iris, contains("etal"))
.0 votes
Existe-t-il un moyen concis de le faire pour les nombres à valeur réelle avec une précision donnée ?
0 votes
@mlt - bien sûr, mais c'est probablement une nouvelle question.
0 votes
@greg121
in
existent également dans des langages populaires tels que JavaScript, Python et SQL, alors je ne vois pas bien ce qu'il y a de si spécial dans R en particulier - je parierais même que les créateurs de R l'ont repris de l'un d'eux.