Ich möchte Zeilen mit mindestens 2 aufeinander folgenden Nullen aus meinem Datenrahmen ausschließen. Beispiel:Das Ausschließen von Zeilen mit fortlaufenden Nullen aus dem Datenrahmen
subj stimulus var1 var2 var3 var4
1 A 25 30 15 36
1 B 0 0 10 0
1 C 12 0 20 23
Ich mag würde den Versuch für Stimulus B mit zwei Nullen auszuschließen, aber die Werte für C nur eine enthält halten. Bisher habe ich versucht:
has3Zeros <- function(x) {
x <- x[!is.na(x)] == 0
if (length(x) < 3) {
FALSE
}
}
df[,!sapply(df, has3Zeros), drop=F]
aber es sagt mir, es ist ein ungültiges Argument Typ. Gibt es eine "einfache" Möglichkeit, Zeilen mit fortlaufenden Nullen auszuschließen?
Vielen Dank im Voraus.
Auch wenn ich die Bahn vorher gescannt, habe ich jetzt die richtigen Keywords und fand die gleiche Frage hier gestellt: http://stackoverflow.com/questions/11797216/r-count-number-of-zeros- per-row-and-remove-alle-row-more-than-5-zeros In meinem Fall wäre die Antwort: 'df [rowSums (df == 0) <= 2,]' – cRazyMind
das nicht tut zu berücksichtigen, ob sie "aufeinanderfolgend" sind. – mtoto