Vorrei unire un gruppo di frame di dati insieme (perché sembra che molte operazioni siano più semplici se si tratta solo di w/one, ma correggimi se ho torto).Unisci molti frame di dati da file CSV
Attualmente ho un frame di dati simili:
ID, var1, var2
A, 2, 2
B, 4, 5
.
.
Z, 3, 2
Ogni ID è una singola fila w/diverse misure singole
Ho anche un file CSV w/misurazione ripetuta per ogni ID, come:
nomefile = ID_B.csv
time, var4, var5
0, 1, 2
1, 4, 5
2, 1, 6
...
Quello che mi piacerebbe i s:
ID, time, va1, var2, var4, var5
...
B, 0, 4, 5, 1, 2,
B, 1, 4, 5, 4, 5,
B, 2, 4, 5, 1, 6,
...
Non mi interessa davvero l'ordine delle colonne. L'unica soluzione a cui riesco a pensare è di aggiungere la colonna ID a ciascun file csv, quindi eseguirne il looping chiamando più volte lo merge()
. C'è un approccio più elegante?
Oh! Ho perso totalmente che ogni CSV era la misura per un singolo ID. Doh! La tua risposta è molto buona. –
Hai solo bisogno di 'ldply' e non di' mdply', e puoi anche semplificare le cose facendo 'nomi (nomi di file) <- ids'. Inoltre si usa '.' anziché' getwd() 'in' list.files'. Bella risposta altrimenti. – hadley