Ho un ampio set di dati da una lunga sessione in cui sono state svolte molte attività per ogni soggetto. Molte delle attività coinvolgevano gli stessi 4-5 tipi e più valutazioni e risultati comportamentali da quei tipi. Tuttavia, ogni variabile di risultato è denominata in modo leggermente diverso in termini di come il "tipo" si riflette nel nome. Sto cercando di impilare tra i "tipi" per ogni risultato e combinare in un singolo foglio di calcolo. Finora sono stato in grado di impilare una singola variabile e sono stato in grado di unire due fogli in cui erano state impilate variabili diverse unendo e abbinando l'ID del soggetto e una colonna "tipo" ricodificata. È questa la sequenza corretta? Impila la variabile, salva la tabella risultante, impila un'altra da un altro foglio di calcolo, salva la tabella risultante, unisci/unisci le tabelle e quindi impila e unisci altre? È possibile unire/abbinare 5 tabelle contemporaneamente? Ho provato ad aggiungere una nuova variabile impilata al risultato di due tabelle unite e il risultato sembrava errato. Grazie!
Hai provato a impilare più serie? Puoi impilare più colonne.

Non mi è chiaro se quella funzione funzionerà. Al momento i miei dati sono analoghi a:
Attività 1 braccio; Attività 1 gamba; Attività 2 braccio; Attività 2 gamba; Attività 3 braccio; Attività 3 gamba; Attività 3 faccia
Tranne per il fatto che i nomi delle variabili divergono dal formato sopra e non sono tutti coerenti. Voglio impilare i valori Task 1, e anche separatamente i valori Task 2, e anche separatamente i valori Task 3, ma tutti uniti dalla variabile Body Site:
Valore attività 1 del braccio Valore attività 2. (nessun dato)
Valore attività 1 gamba Valore attività 2. (nessun dato)
Valore attività 1 Valore attività 2 Valore attività 3
È possibile scrivere uno script che verifichi le diverse varianti del nome di una colonna e poi modifichi il nome nel formato standard.
Una volta nella forma standard, mentre descrivi i nomi, lo script seguente assume la forma standard

E convertirlo nel nuovo formato per la tabella

names default to here(1);
dt = new table("Example",
add rows(20),
New column("Task 1 arm", set each value(random integer(1,100))),
New column("Task 1 leg", set each value(random integer(1,100))),
New column("Task 2 arm", set each value(random integer(1,100))),
New column("Task 2 leg", set each value(random integer(1,100))),
New column("Task 3 arm", set each value(random integer(1,100))),
New column("Task 3 leg", set each value(random integer(1,100))),
New column("Task 3 face", set each value(random integer(1,100)))
);
dt << new column("Row", set each value(Row()));
dtStack = dt << Stack(
columns(
:Task 1 arm, :Task 1 leg, :Task 2 arm, :Task 2 leg, :Task 3 arm, :Task 3 leg,
:Task 3 face
),
Output Table( "Stack" )
);
dtStack << new column("Body Part", character, formula( word(-1, :label, " ")));
dtStack << new column( "Task", character, formula( substr(:Label, 1 ,length(:label)-length(:body part)-1)));
dtFinal = dtStack << Split(
Split By( :Task ),
Split( :Data ),
Group( :Body Part, :row ),
Output Table( "Final" ),
Remaining Columns( Drop All ),
Sort by Column Property
);
dtFinal << Sort( By(:row, :Body Part), Replace Table(1));
dtFinal << delete columns(:row);
dt << delete columns(:row);
close( dtStack, nosave );