36
Come posso unire le colonne di due frame di dati, contenenti un insieme distinto di colonne ma alcune righe con lo stesso nome? I campi per le righe che non si verificano in entrambi i frame di dati devono essere riempiti con zeri:Unisci frame di dati in base ai nomi di personaggi in R
> d
a b c d e f g h i j
1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10
2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
> e
k l m n o p q r s t
1 11 12 13 14 15 16 17 18 19 20
3 21 22 23 24 25 26 27 28 29 30
> de
a b c d e f g h i j k l m n o p q r s t
1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10 11 12 13 14 15 16 17 18 19 20
2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0 0 0 0 0 0 0 0
3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 21 22 23 24 25 26 27 28 29 30
che fa il lavoro, grazie. C'è un modo più performante? Bastano pochi minuti per unire due colonne con 200k righe, ci vogliono anche pochi minuti per unire un dataframe vuoto con una cornice dati a singola colonna che ha 200k righe ... – barbaz
Sì, controlla il pacchetto sqldf: http://code.google .com/p/sqldf/ – rcs
e c'è un modo per preservare i nomi delle righe? e non farli spostare in una colonna dedicata? ovviamente si può fare 'rownames (de) = de $ Row.names' dopo, chiedendosi solo se esiste un modo per non romperlo in primo luogo ... – barbaz