2016-05-19 12 views
0

Ich habe ein Panel-Dataset basierend auf vielen anderen Panel-Datasets erstellt. Ich wurde von data.table oder sogar Basis-R-Funktion merge() verwirrt, die oft die Reihenfolge der Zeilen ändern. So nach viel Versuch und Irrtum habe ich folgendes von plyr:R: Gibt es bekannte Probleme bei der Verwendung von plyr/dplyr/data.table- und plm-Paketen?

join(x, y, by=c("Firm", "Index")) 

Schließlich, wenn ich durch abschließende Paneldatensatz hergestellt und verwendet, um die attach() Funktion und plm Paket für die Analyse, erhalte ich folgende Fehlermeldung:

Error in pdim.default(index[[1]], index[[2]]) when I investigate further using

options(error=recover) 

ich finde

stop(cat("duplicate couples (time-id)\n")) 

Bitte schlagen Sie vor, was könnte falsch sein und wie es zu beheben?

+0

versuchen Sie 'sort = FALSE' in' merge() '. – mtoto

+1

Nicht 'attach()'. – Gregor

+0

@Gregor warum nicht anhängen()? –

Antwort

2

Es scheint, als hätten Sie in Ihren Daten (möglicherweise aufgrund des Merging-Prozesses) Personen, die denselben Wert im Zeitindex mehr als einmal (oder mehr als eine NA) haben. Sie können entweder Ihre Daten anschauen oder table(index(your_pdataframe), useNA = "ifany") ausprobieren, um herauszufinden, welche.

+0

Ja, ich habe absichtlich Werte im Index. Der mitgelieferte Code gibt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1. Was heißt das? –