2
從1950年到2003年,我在180個國家使用了一個相當大的數據面板。我一直在使用R的plm包。我需要的一件事要做的是去掉國內生產總值觀察太少的國家,換句話說,太多的國民生產總值。這裏是什麼,我試圖做刪除PLM數據框中NA值過多的行
## generate dummy data
library(plm)
c1 <- rep(NA,20)
c2 <- rep(c(1,NA),10)
c3 <- c(1:15,NA,NA,NA,NA,NA)
c4 <- c(NA,1:19)
c5 <- c(1:20)
country <- c(rep(1,20),rep(2,20),rep(3,20),rep(4,20),rep(5,20))
year <- rep(1:20,5)
df <- data.frame(year, country, gdp=c(c1,c2,c3,c4,c5))
pd <- pdata.frame(df,index=c("country","year"))
我再產生,其對多少GDP的意見有每個國家的如下
gdp.observations <- apply(as.matrix(pd$gdp),1,
function(x) length(is.na(x)[is.na(x)==FALSE]))
它產生一個向量的僞例如
> gdp.observations
A B C D E
0 10 15 19 20
我現在想要做的是使用這個向量來製作一個pdata.frame
,其中只包括gdp.observations
超過某個閾值的國家比方說,15有沒有一個很好的辦法做到這一點?
非常聰明的解決方案,謝謝! – crf