Eu tenho um data.frame com o nome "abcframe"
a b c
1 1 1
2 2 3
Como posso saber se uma coluna existe ou não em um determinado quadro de dados? Por exemplo, gostaria de descobrir se existe uma coluna d no abcframe data.frame .
d
, ou se um determinado vetord
é igual a uma das colunas de seu quadro de dados?Respostas:
Supondo que o nome do seu frame de dados seja
dat
e que o nome da coluna a ser verificado seja"d"
, você pode usar o%in%
operador:fonte
!
no início:if(!"d"%in% colnames(dat))
if("d" & "e" & "f" %in% colnames(dat)) { cat("Yep, it's in there!\n"); }
. Obrigado! - Oh, posso ter encontrado a resposta sozinho: stackoverflow.com/questions/21770912/… .Você tem várias opções, incluindo usar
%in%
egrepl
:Para obter os nomes das colunas:
Use
%in%
para verificar a associação:fonte
grepl
um pouco mais preciso, você pode usargrepl("^d$",names(dat))
, para garantir que uma coluna com nomedd
não retorneTRUE
.colnames
não funcionou para mim, masnames
funcionou.Você pode usar
any
:fonte
Você também pode usar
if(!is.null(abcframe$d))
para testar sed
existe emabcframe
.fonte