Ho il seguente dataframe (s
):Rimozione sia riga e colonna del valore parziale NA
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)
Come visibile riga 5 e colonna 5 in questo caso include solo NA
e 0
valori. Vorrei ometterli e mantenere l'ordine di linee e colonne. Potrebbero esserci più colonne e righe nello stesso schema e mi piacerebbe fare lo stesso. La dimensione del dataframe potrebbe essere cambiata. Il risultato finale sarebbe:
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
C'è un modo per ottenere la riga omessa e il numero di colonna (in questo caso 5), pure?
quindi qual è il numero minimo di NA che giustifichi il dumping di una riga/colonna. Tutti i valori Non NA devono essere 0 da eliminare? –
Come si può vedere si tratta di una matrice a triangolo superiore. In ogni caso, il NA sarà per le righe: dalla colonna del numero di riga all'ultima colonna (fine). E per lo stesso numero di colonna: dalla prima riga fino allo stesso numero di riga (5 in questo esempio) – Avi
Questo è probabilmente ovvio, ma: dovresti usare una matrice, non un data.frame. – Frank