Come creare un ciclo e aggiungere colonne nelle tabelle dei sottoinsiemi e aggiungere un valore in base al valore specifico della colonna?Ciao a tutti, ho un sottoinsieme di tabella
Ho due domande.
1. Come si può creare un ciclo che aggiunga la colonna "Ref" a ogni sottoinsieme della tabella?
2. Inoltre, è possibile che il valore della colonna creata si basi sul numero più alto di N righe con un valore specifico?
Ad esempio, la nuova colonna da aggiungere sarà Ref . Il valore della colonna Ref sarà basato sulla colonna Country, in cui dovrebbe aggiungere 1 al valore più alto di N righe solo per America.
| Paese | N righe | Rif. |
| Argentina | 4 | |
| America | 0 | |
| America | 5 | 1 |
| Brasile | 2 | |
| Brasile | 4 | |
| Canada | 2 | |
AMORE
Automazione e scriptingfinestreR: Come aggiungere una colonna nelle tabelle dei sottoinsiemi e aggiungere un valore in base al valore specifico della colonna?Non sono sicuro di quale sia la tua definizione di "sottoinsieme di colonne". Ti riferisci alle tabelle di dati create da
Tabelle=>Sottoinsieme
quando è selezionato Subset By

e viene realizzata una tabella separata per ogni livello della/e variabile/i selezionata/e?
R: Come aggiungere una colonna nelle tabelle dei sottoinsiemi e aggiungere un valore in base al valore specifico della colonna?Dopo aver suddiviso la tabella, come posso creare un ciclo per aggiungere una colonna "Ref" a tutte le tabelle suddivise?
*Riformulerò la domanda
R: Come aggiungere una colonna nelle tabelle dei sottoinsiemi e aggiungere un valore in base al valore specifico della colonna?Ecco un esempio di un modo per fare il looping. Il vero problema è come ottenere l'elenco delle tabelle su cui fare il loop. Questo esempio presuppone che
Tabelle=>Sottoinsieme
con un sottoinsieme di è stato utilizzato
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dtSubsetList = dt << Subset(
By( :sex ),
All rows,
Selected columns only( 0 ),
columns( :name, :age, :height, :weight )
);
for each( {table}, dtSubsetList,
table << new column( "Ref");
wait(0);
table:ref[table << get rows where( :age == col max(:age))]=1;
);R: Come aggiungere una colonna nelle tabelle dei sottoinsiemi e aggiungere un valore in base al valore specifico della colonna?E se i miei dati fossero così? La colonna Country è in tipo carattere, come posso ottenere le sue N righe più alte? Supponendo che io stia ottenendo le N righe più alte dall'America. Dall'esempio che hai fornito, penso che sia in tipo di dati numerico
| Paese | N righe | Rif. |
| Argentina | 4 | |
| America | 0 | |
| America | 5 | 1 |
| Brasile | 2 | |
| Brasile | 4 | |
| Canada | 2 | |
R: Come aggiungere una colonna nelle tabelle dei sottoinsiemi e aggiungere un valore in base al valore specifico della colonna?Immagino che qualcosa di simile a questo sia ciò di cui hai bisogno
table:ref[table << get rows where( :Country == "America" & :N Rows == col max(:N Rows, :Country))]=1;
Ti consiglio di prenderti del tempo per leggere la Scripting Guide, per imparare JSL. Se non hai familiarità con la programmazione e almeno un linguaggio di programmazione, ti consiglio di cercare su internet un corso gratuito su "Learn how to Program".