Ich habe mit einem großen Paneldatensatz gearbeitet. Mein einfacher Datensatz sieht wie folgt aus.So kombinieren Sie eine Spalte aus einer Datentabelle mit einer Panel-Datenstruktur
+--------+------+------+-----+-----+--------+ | Time | Firm | Land | Lab | Cap | GL | +--------+------+------+-----+-----+--------+ | Jan-00 | A | 25 | 261 | 13 | 161521 | | Feb-00 | A | 25 | 334 | 15 | 142452 | | Mar-00 | A | 25 | 156 | 14 | 365697 | | Apr-00 | A | 28 | 134 | 12 | 355789 | | May-00 | A | 28 | 159 | 15 | 376843 | | Jun-00 | A | 28 | 119 | 12 | 258762 | | Jul-00 | A | 28 | 41 | 45 | 255447 | | Aug-00 | A | 28 | 247 | 75 | 188545 | | Sep-00 | A | 28 | 251 | 41 | 213663 | | Oct-00 | A | 30 | 62 | 12 | 273209 | | Nov-00 | A | 30 | 525 | 15 | 317468 | | Dec-00 | A | 30 | 217 | 16 | 238668 | | Jan-01 | B | 42 | 298 | 42 | 241286 | | Feb-01 | B | 42 | 109 | 45 | 135288 | | Mar-01 | B | 42 | 7 | 24 | 363609 | | Apr-01 | B | 42 | 12 | 56 | 318472 | | May-01 | B | 42 | 0 | 12 | 446279 | | Jun-01 | B | 45 | 50 | 12 | 390230 | | Jul-01 | B | 45 | 143 | 45 | 118945 | | Aug-01 | B | 45 | 85 | 25 | 174887 | | Sep-01 | B | 45 | 80 | 15 | 183770 | | Oct-01 | B | 45 | 214 | 12 | 197832 | | Nov-01 | B | 45 | 525 | 15 | 317468 | | Dec-01 | B | 45 | 217 | 16 | 238668 | +--------+------+------+-----+-----+--------+
Der obige Datenrahmen kann mit den folgenden Codes aufgerufen werden.
structure(list(Time = structure(c(9L, 7L, 15L, 1L, 17L, 13L,
11L, 3L, 23L, 21L, 19L, 5L, 10L, 8L, 16L, 2L, 18L, 14L, 12L,
4L, 24L, 22L, 20L, 6L), .Label = c("Apr-00", "Apr-01", "Aug-00",
"Aug-01", "Dec-00", "Dec-01", "Feb-00", "Feb-01", "Jan-00", "Jan-01",
"Jul-00", "Jul-01", "Jun-00", "Jun-01", "Mar-00", "Mar-01", "May-00",
"May-01", "Nov-00", "Nov-01", "Oct-00", "Oct-01", "Sep-00", "Sep-01"
), class = "factor"), Firm = structure(c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L), .Label = c("A", "B"), class = "factor"), Land = c(25L,
25L, 25L, 28L, 28L, 28L, 28L, 28L, 28L, 30L, 30L, 30L, 42L, 42L,
42L, 42L, 42L, 45L, 45L, 45L, 45L, 45L, 45L, 45L), Lab = c(261L,
334L, 156L, 134L, 159L, 119L, 41L, 247L, 251L, 62L, 525L, 217L,
298L, 109L, 7L, 12L, 0L, 50L, 143L, 85L, 80L, 214L, 525L, 217L
), Cap = c(13L, 15L, 14L, 12L, 15L, 12L, 45L, 75L, 41L, 12L,
15L, 16L, 42L, 45L, 24L, 56L, 12L, 12L, 45L, 25L, 15L, 12L, 15L,
16L), GL = c(161521L, 142452L, 365697L, 355789L, 376843L, 258762L,
255447L, 188545L, 213663L, 273209L, 317468L, 238668L, 241286L,
135288L, 363609L, 318472L, 446279L, 390230L, 118945L, 174887L,
183770L, 197832L, 317468L, 238668L)), .Names = c("Time", "Firm",
"Land", "Lab", "Cap", "GL"), class = "data.frame", row.names = c(NA,
-24L))
Ich konvertierte die Daten in eine Panel-Struktur wie folgt.
library(zoo)
library(plm)
Sys.setlocale("LC_TIME", "English")
dat["time1"] <- as.yearmon(dat$Time,format="%b-%y")
pdat <-pdata.frame(dat,index=c("Firm","time1"))
Original-Analyse
pdat$Cap.lag.ln<-lag(log(pdat$Cap), 1)
pdat$Cap.2lag.ln<-lag(log(pdat$Cap), 2)
pdat$Lab.ln<-log(pdat$Lab+1)
pdat$Lab.lag.ln<-lag(log(pdat$Lab+1), 1)
Model1<- plm(log(Land) ~ Cap.lag.ln + Cap.2lag.ln + Lab.ln + Lab.lag.ln,
model = "within", data=pdat)
summary(Model1)
FV_Log <- data.table(Model1$model[[1]] - Model1$residuals)
Nur die nationalen Agenturen in PDAT von Lags wegzulassen führte angepassten Werte zu kombinieren
pdat2<-na.omit(pdat)
Das Problem
ich diese Einbau Werte kombinieren möchten zum pdat2 aber muss die Paneelstruktur beibehalten, wie es ist. Aber wenn ich für die folgende cbind gehe, dann ist die Panel-Struktur verschwunden.
pdat3 <-cbind(pdat2,FV_Log)
Auch ich habe versucht, alte Variablen und den folgenden Weg zu verzichten.
Kann mir bitte jemand helfen, dieses Problem zu identifizieren und das Modell 2 in PLM-Struktur ausführen. Danke
Der beste Weg, um Hilfe zu bekommen, ist, alle relevanten Fragen hier inline zu posten. – Gopala
Ich habe den Beitrag bearbeitet, um den Code einzubeziehen, auf den Sie verwiesen haben. Dies muss von Experten begutachtet werden und erscheint möglicherweise nicht sofort. Bitte lassen Sie mich wissen, wenn der Code falsch ist. In der Zwischenzeit, siehe meine Antwort unten. – AOGSTA
Warum verwenden Sie 'data.table'? –