2016-05-19 4 views
0

Я формировал набор данных на панели, основанный на многих других наборах панелей. Я был озадачен data.table или даже базовой функцией R merge(), которая часто меняет порядок строк. Таким образом, после долгих проб и ошибок я использовал следующие из plyr:R: Существуют ли какие-либо известные проблемы при использовании пакетов plyr/dplyr/data.table и plm вместе

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

Наконец, когда я готовился окончательным панели набора данных и использовать attach() функции и plm пакет для анализа, я получаю следующее сообщение об ошибке:

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

options(error=recover) 

Я нахожу

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

Просьба указать, что может быть неправильным и как его исправить?

+0

попробуйте 'sort = FALSE' внутри' merge() '. – mtoto

+1

Не 'attach()'. – Gregor

+0

@Gregor почему бы не прикрепить()? –

ответ

2

Похоже, что в ваших данных (возможно, из-за процесса слияния) у вас есть индивидуумы, которые имеют одно и то же значение во временном индексе более одного раза (или более одного NA). Вы можете посмотреть ваши данные или попробовать table(index(your_pdataframe), useNA = "ifany"), чтобы узнать, какие.

+0

Да Я намеренно повторяю значения в индексе. Предоставленный код дает: 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. Что это значит? –