【发布时间】:2016-05-19 18:14:25
【问题描述】:
我一直在基于许多其他面板数据集形成面板数据集。我一直对 data.table 甚至基本 R 函数 merge() 感到困惑,它们经常改变行的顺序。因此,经过反复试验,我使用了plyr 中的以下内容:
join(x, y, by=c("Firm", "Index"))
最后,当我通过最终面板数据集进行准备并使用attach() 函数和plm 包进行分析时,出现以下错误:
pdim.default(index[[1]], index[[2]]) 中的错误 当我使用
进一步调查时
options(error=recover)
我发现
stop(cat("duplicate couples (time-id)\n"))
请提出可能的问题以及如何解决?
【问题讨论】:
-
在
merge()中尝试sort = FALSE。 -
@Gregor 为什么不附加()?
-
当附加列彼此(以及与数据框)不同步时,可能会导致难以调试的问题。
with()是没有数据参数的单个命令的好选择。但是很多命令(比如plm!)都有一个data参数,所以你根本不需要attach或使用with。 -
查看answers here 了解有关
attach的坏处的更多详细信息。