Entfernen Sie Datenspalten basierend auf den Bedingungen in R
Ich muss Spalten in meinem Datenframe entfernen, der über 4000 Spalten und 180 Zeilen enthält. Die Bedingungen, unter denen ich die Spalte im Datenframe entfernen möchte, sind: (i) Entfernen Sie die Spalte, wenn weniger als zwei Werte / Einträge in vorhanden sind diese Spalte (ii) Entfernen Sie die Spalte, wenn die Spalte keine zwei aufeinander folgenden (nacheinander folgenden) Werte enthält. (iii) Entfernen Sie die Spalte mit allen Werten als NA. Ich habe Bedingungen angegeben, unter denen eine Spalte gelöscht werden soll. Hier geht es nicht nur darum, eine Spalte anhand ihres Namens wie in "Wie löscht man eine Spalte in data.table?" Zu finden. Ich illustriere wie folgt:
A B C D E
0.018 NA NA NA NA
0.017 NA NA NA NA
0.019 NA NA NA NA
0.018 0.034 NA NA NA
0.018 NA NA NA NA
0.015 NA NA NA 0.037
0.016 NA NA NA 0.031
0.019 NA 0.4 NA 0.025
0.016 0.03 NA NA 0.035
0.018 NA NA NA 0.035
0.017 NA NA NA 0.043
0.023 NA NA NA 0.040
0.022 NA NA NA 0.042
Gewünschter Datenrahmen:
A E
0.018 NA
0.017 NA
0.019 NA
0.018 NA
0.018 NA
0.015 0.037
0.016 0.031
0.019 0.025
0.016 0.035
0.018 0.035
0.017 0.043
0.023 0.040
0.022 0.042
Wie kann ich diese drei Bedingungen in einen Code integrieren? Ich würde mich über Ihre Hilfe in dieser Hinsicht freuen. Reproduzierbares Beispiel
structure(list(Month = c("Jan-2000", "Feb-2000", "Mar-2000",
"Apr-2000", "May-2000", "Jun-2000"), A.G.L.SJ.INVS...LON..DEAD...13.08.15 = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), ABACUS.GROUP.DEAD...18.02.09 = c(0.00829384766220866,
0.00332213653674028, 0, 0, NA, NA), ABB.R..IRS. = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_)), .Names = c("Month",
"A.G.L.SJ.INVS...LON..DEAD...13.08.15", "ABACUS.GROUP.DEAD...18.02.09",
"ABB.R..IRS."), class = c("data.table", "data.frame"), row.names = c(NA,
-6L), .internal.selfref = <pointer: 0x0000000001c90788>)