Ohne Zugriff auf Ihre Daten ist es unmöglich, zu bestätigen, dass dies funktionieren wird, aber ich werde versuchen, einige Probleme in Ihrem Code hinweisen, die wahrscheinlich einen Beitrag zum Fehler werden.
Diese Linie ist in Ordnung:
tino=read.delim("clipboard")
Hier ist, wo Sie anfangen, Fehler zu machen:
Dep<- with(tino, cbind(Gross, index=c("Country, Year"))
Ind<- tino[ , c('DEX', 'GRW' , 'Debt', 'Life')]
with()
typischerweise neue Vektoren verwendet wird, aus einem data.frame zu erstellen. Sie können nur die $
Schreibweise für referenzierende Variablen in einem data.frame und sonst nichts löschen. Aus dem Lesen Ihres Codes können Sie denken, dass with()
tatsächlich das tino
Objekt ändert, was es nicht ist.
Wenn Sie einen data.frame zur Verwendung in einem Regressionsmodell erstellen möchten, möchten Sie alle Variablen auf der rechten und linken Seite in einem dat.frame oder einer Matrix, anstatt sie zu trennen. Dies liegt daran, dass die meisten Modellierungsfunktionen mit einer "Formel" und einem data
Argument arbeiten, die an model.frame()
übergeben werden, um die Daten vor der Modellierung vorzuverarbeiten.
Das heißt, Sie vermutlich etwas wie das folgende tun wollen, alle oben Überspringen:
pandata <- plm.data(tino, index = c("Country", "Year"))
pooling <- plm(Gross ~ DEX + GRW + Debt + Life, data = pandata, model = "pooling")
summary(pooling)
Wenn Sie eine Menge von der rechten Seite Variablen haben, können Sie Ihre data.frame Teilmenge kann, mit so etwas wie:
pandata2 <- plm.data(tino[ , c('Gross', 'DEX', 'GRW' , 'Debt', 'Life')], index = c("Country", "Year"))
pooling2 <- plm(Gross ~ ., data = pandata2, model = "pooling")
mit der .
Notation als Abkürzung für „alle anderen Spalten in den Daten.“
Bitte beachten Sie, lesen Sie auf [fragen] und wie ein [reproduzierbares Beispiel] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) zu erzeugen. – Heroka