Ich habe folgenden Datenrahmen (s
):beid Reihen- und Spaltenteil NA-Wert Entfernen
s<-read.table(text = "V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 0 62 64 44 NA 55 81 66 57 53
2 0 0 65 50 NA 56 79 69 52 55
3 0 0 0 57 NA 62 84 76 65 59
4 0 0 0 0 NA 30 70 61 41 36
5 0 0 0 0 NA NA NA NA NA NA
6 0 0 0 0 0 0 66 63 51 44
7 0 0 0 0 0 0 0 80 72 72
8 0 0 0 0 0 0 0 0 68 64
9 0 0 0 0 0 0 0 0 0 47
10 0 0 0 0 0 0 0 0 0 0 ", header = TRUE)
Als Zeile 5, und Spalte 5 in diesem Fall gesehen werden kann, schließt nur NA
und 0
Werte. Ich möchte sie weglassen und die Reihenfolge der Zeilen und Spalten beibehalten. Es könnte mehr Spalten und Reihen im selben Muster geben und ich würde das Gleiche tun. Die Größe des Datenrahmens könnte geändert werden. Das Endergebnis wäre:
V1 V2 V3 V4 V6 V7 V8 V9 V10
1 0 62 64 44 55 81 66 57 53
2 0 0 65 50 56 79 69 52 55
3 0 0 0 57 62 84 76 65 59
4 0 0 0 0 30 70 61 41 36
6 0 0 0 0 0 66 63 51 44
7 0 0 0 0 0 0 80 72 72
8 0 0 0 0 0 0 0 68 64
9 0 0 0 0 0 0 0 0 47
10 0 0 0 0 0 0 0 0 0
Gibt es eine Möglichkeit, die versäumte Zeilen- und Spaltennummer zu erhalten (in diesem Fall 5), wie auch?
also was ist die minimale nr von NA, die rechtfertigen würde, eine Zeile/Spalte dumping. Müssen alle Nicht-NA-Werte 0 sein, um fallen zu lassen? –
Wie zu sehen ist, ist es eine obere Dreiecksmatrix. In jedem Fall gilt die NA für die Zeilen: von der Zeilennummer bis zur letzten Spalte (Ende). Und für die gleiche Spalte Nummer: von der ersten Zeile bis zur gleichen Zeilennummer (5 in diesem Beispiel) – Avi
Das ist wahrscheinlich offensichtlich, aber: Sie sollten eine Matrix verwenden, nicht ein data.frame. – Frank