Ich habe folgendes df:bedingte Berechnung: Länge bestimmter Zeile, wenn Zeile unten ist nicht NA-Wert
X7 X8 X9 X10 X11 X12 X13 X14
1 1 1 <NA> 1 1 1 1 <NA>
2 1 1 1 1 1 1 <NA> <NA>
3 1 1 1 1 1 <NA> <NA> <NA>
Edit: diese verwenden:
df <- data.frame(X7=c(1L,1L,1L),X8=c(1L,1L,1L),X9=factor(c(NA,'1','1')),X10=c(1L,1L,1L),X11=c(1L,1L,1L),X12=factor(c('1','1',NA)),X13=factor(c('1',NA,NA)),X14=factor(c(NA,NA,NA)));
Ich möchte die Länge berechnen der Zeile 1
ohne NAs, wenn die Werte in Zeile 2
keine NA-Werte sind. Und dann das gleiche für Zeile 1
und 3
.
So das Ergebnis für die Zeilen 1-2
sollte 5 und Zeilen 1-3
sollen 4.
Ich habe keine Ahnung, wie sein, um dies zu abgesehen von zu wissen, wie die Länge jeder Zeile zu berechnen:
(apply(df, MARGIN = 1, FUN = function(x) length(x[!is.na(x)])))
Jede Hilfe würde sehr geschätzt werden!
Sollte das Ergebnis für die Zeilen 1 und 2 nicht 5 sein? – bgoldst
'" NA "' ist nicht dasselbe wie 'NA'. Ihr Code erstellt eine Zeichenmatrix und keinen Datenrahmen. –
@RichardScriven ist korrekt. Für meine Antwort habe ich meine eigene Definition von "df" erstellt, die die in der Frage gezeigte Druckausgabe reproduziert. Der Aufruf 'cbind()', der in der Frage angezeigt wird, ist wahrscheinlich die Quelle der Inkonsistenz und sollte ignoriert werden. – bgoldst