Compito semplice: rimuovi le colonne vuote<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao forum SAS,
Sto cercando di rimuovere tutte le colonne vuote in un set di dati e non riesco a capire come farlo in JMP9. Puoi aiutare? Ci sarà un numero variabile di pazienti e AA
Inserimento dati
| Paziente | Campione
| AA_1 | AA_2 | AA_3 | AA_4 | AA_5 | AA_6 |
|---|
| 2234 | Giorno 1 | | UN | | | | C |
| 2234 | Giorno 11 | | UN | | V/M/S | | C |
| 2234 | Giorno 21 | | UN | | | | C |
| 2234 | Giorno 24 | | UN | | | S/T | C |
Produzione
| Paziente | Campione
| AA_2 | AA_4 | AA_5 | AA_6 |
|---|
| 2234 | Giorno 1 | UN | | | C |
| 2234 | Giorno 11 | UN | V/M/S | | C |
| 2234 | Giorno 21 | UN | | | C |
| 2234 | Giorno 24 | UN | | S/T | C |
Ri: Compito semplice: rimuovere le colonne vuoteSe vuoi vedere l'elenco, puoi semplicemente usare:
Stampa( lstCancella);
Ri: Compito semplice: rimuovere le colonne vuoteGrazie. L'ho eseguito ma non ho visto l'elenco, mi sono perso qualcosa?
Ri: Compito semplice: rimuovere le colonne vuoteCiao,
Se vuoi mantenere il nome della colonna vuota nell'elenco, puoi anche procedere in questo modo.
dt = Tabella dati corrente();
iColMax = NCol(dt);
iRigaMax = NRiga(dt);
nullo = 0;
lstDelete = Lista();
Per (iCol = 1, iCol<=iColMax, iCol++,
nullo = 0;
col = Colonna(iCol);
strColName = Colonna (iCol) << GetName;
Per (iRow = 1, iRow<=iRowMax, iRow++,
Se (Oppure(ÈVuoto(col[iRiga]),Manca(col[iRiga])),
nullo = nullo + 1;
);
);
If (null == iRowMax, InsertInto(lstDelete, Eval(strColName))
);
);
dt << Elimina colonne(lstDelete);
Ri: Compito semplice: rimuovere le colonne vuoteFunziona magnificamente! Grazie mille.
Ri: Compito semplice: rimuovere le colonne vuoteQuando lo faccio in modo interattivo in JMP, tendo a utilizzare il modello e il riepilogo dei dati mancanti. Ma per tabelle di grandi dimensioni e attività ripetute lo script JSL è più efficace.
Questo dovrebbe funzionare per rimuovere colonne vuote di qualsiasi tipo di dati.
dt = Tabella dati corrente () ;
nc = N col ( dt ) ;
nomi = dt << Ottieni nomi di colonne () ;
dt1 = dt << Modello dati mancante ( colonne ( Val ( nomi ) ) , invisibile ) ;
n = Riga N ( dt1 ) ;
Per ( io = nc , io >= 1 , io --,
Se ( Col Somma ( Colonna ( dt1 , io + 3 ) ) < n ,
Rimuovere da ( nomi , io )
)
) ;
Tentativo ( dt << eliminare colonne ( nomi ) ) ;
Vicino ( dt1 , nosalva ) ;