Ich habe einen data.frame mit dem Namen "abcframe"
a b c
1 1 1
2 2 3
Wie kann ich feststellen, ob in einem bestimmten Datenrahmen eine Spalte vorhanden ist oder nicht? Zum Beispiel möchte ich herausfinden, ob eine Spalte d im data.frame abcframe vorhanden ist .
d
, oder möchten Sie wissen, ob ein bestimmter Vektord
einer der Spalten Ihres Datenrahmens entspricht?Antworten:
Angenommen, der Name Ihres Datenrahmens lautet
dat
und der zu überprüfende Spaltenname lautet"d"
, können Sie den%in%
Operator verwenden:quelle
!
am Anfang hinzu:if(!"d"%in% colnames(dat))
if("d" & "e" & "f" %in% colnames(dat)) { cat("Yep, it's in there!\n"); }
. Vielen Dank! - Oh, ich habe die Antwort vielleicht selbst gefunden: stackoverflow.com/questions/21770912/… .Sie haben eine Reihe von Optionen, einschließlich der Verwendung von
%in%
undgrepl
:So erhalten Sie die Namen der Spalten:
Verwenden Sie
%in%
diese Option, um die Mitgliedschaft zu überprüfen:quelle
grepl
etwas genauer zu machen, können Sie verwendengrepl("^d$",names(dat))
, um sicherzustellen, dass eine Spalte mit Namendd
nicht zurückgegeben wirdTRUE
.colnames
hat bei mir nicht funktioniert, abernames
funktioniert.Sie könnten verwenden
any
:quelle
Sie können auch
if(!is.null(abcframe$d))
testen, ob ind
vorhanden istabcframe
.quelle