我有来自 Compustat 的大量数据。我向其中添加了一些手工收集的数据(认真地从一堆旧书中手工收集)。但我不想手工收集整个面板,只想随机选择一个子集。为了找到更大的集合(我从中随机选择),我想从 Compustat 的平衡面板开始。
我看到plm
用于处理不平衡面板的库,但我想保持它平衡。有没有一种干净的方法可以做到这一点,而不是搜索和丢弃不运行样本期的公司(面板语言中的个人)?谢谢!
经过再三思考,有一种更简单的方法可以做到这一点。
看这个:
data.with.only.complete.subjects.data <- function(xx, subject.column, number.of.observation.a.subject.should.have)
{
subjects <- xx[,subject.column]
num.of.observations.per.subject <- table(subjects)
subjects.to.keep <- names(num.of.observations.per.subject)[num.of.observations.per.subject == number.of.observation.a.subject.should.have]
subset.by.me <- subjects %in% subjects.to.keep
new.xx <- xx[subset.by.me ,]
return(new.xx)
}
xx <- data.frame(subject = rep(1:4, each = 3),
observation.per.subject = rep(rep(1:3), 4))
xx.mis <- xx[-c(2,5),]
data.with.only.complete.subjects.data(xx.mis , 1, 3)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)