Dies ist eine gemeinsame Aufgabe in Feature-Engineering. Der folgende Code Chunk wurde nur für diesen Zweck von mir und der Gemeinde auf Kaggle entwickelt:
##### Removing identical features
features_pair <- combn(names(train), 2, simplify = F) # list all column pairs
toRemove <- c() # init a vector to store duplicates
for(pair in features_pair) { # put the pairs for testing into temp objects
f1 <- pair[1]
f2 <- pair[2]
if (!(f1 %in% toRemove) & !(f2 %in% toRemove)) {
if (all(train[[f1]] == train[[f2]])) { # test for duplicates
cat(f1, "and", f2, "are equals.\n")
toRemove <- c(toRemove, f2) # build the list of duplicates
}
}
}
Dann können Sie einfach fallen je nachdem, welche Kopie der Duplikate Sie wollen. Standardmäßig verwenden ich die Version in dem temporären Objekt gespeichert f2
und entfernen Sie sie wie folgt aus:
train <- train[,!toRemove]
zeigen Sie einige Beispiel – akrun
Schauen Sie sich das zugehörige Antwort: http://stackoverflow.com/a/37564270 –
Mögliche Duplikat [Lösche redundante Spalten in R] (http://stackoverflow.com/questions/37564066/delete-redundant-columns-in-r) – dww