J'ai un data.frame avec le nom "abcframe"
a b c
1 1 1
2 2 3
Comment puis-je savoir si une colonne existe ou non dans un bloc de données donné? Par exemple, je voudrais savoir si une colonne d existe dans l'abcframe data.frame .
d
, ou voulez-vous savoir si un vecteur donnéd
est égal à l'une des colonnes de votre bloc de données?Réponses:
En supposant que le nom de votre bloc de données est
dat
et que le nom de votre colonne à vérifier est"d"
, vous pouvez utiliser l'%in%
opérateur:la source
!
au début:if(!"d"%in% colnames(dat))
if("d" & "e" & "f" %in% colnames(dat)) { cat("Yep, it's in there!\n"); }
. Merci! - Oh, j'ai peut-être trouvé la réponse moi-même: stackoverflow.com/questions/21770912/… .Vous disposez d'un certain nombre d'options, notamment l'utilisation
%in%
etgrepl
:Pour obtenir les noms des colonnes:
Utilisez
%in%
pour vérifier l'adhésion:la source
grepl
un peu plus précis, vous pouvez utilisergrepl("^d$",names(dat))
, pour vous assurer qu'une colonne avec un nomdd
ne retourne pasTRUE
.colnames
n'a pas marché pour moi mais ça l'anames
fait.Vous pouvez utiliser
any
:la source
Vous pouvez également utiliser
if(!is.null(abcframe$d))
pour tester s'ild
existe dansabcframe
.la source