Was die Zeile tun sollte ist ein subset der kompletten Datensatzes df zu bilden indem nur Personen enthalten sind die im Panel zumindest einmal die Region wechseln. Ich verstehe überhaupt nicht wie die Bedingung wirkt und wie das mit der zweiten Klammer zu lesen ist.
Die Fehlermeldung ist:
"Error in `[.data.frame`(data, length(unique(regionid)), personid) :
undefined columns selected "
Versuche ich die command Zeile einzeln abzurufen kommt nach:
EDi hat geschrieben: ↑Mi Nov 29, 2017 10:34 pm
Das ist vermutlich data.table Syntax, d.h. data muss ein data.table sein.
Was es tut:
1) für jede Person, berechne die Anzahl der unterschiedlichen Regionen
2) von den Personen, wähle diejenigen die mindestens eine region haben.
Das V1 erachte ich als unschön, man hätte einen sinnvollen Namen vergeben können (V, ist Standart).
Das kann sein, habe das package geladen.
Ok heißt das ich muss die Daten vorher irgendwie transformieren?
Ich habe sie mit dem package readstata13 (command read.dta 13) aus einem stata-file eingelesen.
Wird das V1 irgendwie on-the-fly generiert oder wie muss man sich das vorstellen? Im code wird es jedenfalls nicht explizit generiert.
Ich hatte den Eindruck als sollte der erste Teil das v1 generieren.
serendipity hat geschrieben: ↑Do Nov 30, 2017 12:53 pm
Das kann sein, habe das package geladen.
Ok heißt das ich muss die Daten vorher irgendwie transformieren?
Ich habe sie mit dem package readstata13 (command read.dta 13) aus einem stata-file eingelesen.
Wird das V1 irgendwie on-the-fly generiert oder wie muss man sich das vorstellen? Im code wird es jedenfalls nicht explizit generiert.
Ich hatte den Eindruck als sollte der erste Teil das v1 generieren.
kannst Du bitte den Code zeigen bis zu der Zeile in der Fehler auftaucht?
[...]Der Befehl sollte die Daten auf Basis der Bedingungen zweiteilen und den anderen Teil in pdata abspeichern.
Das Gleichheitszeichen weist immer nur der Variablen links davon etwas zu. Das rechts davon ist das Zugewiesene. Da pdata nie auf der linken Seite eines Gleichheitszeichens steht, wird ihm auch nie etwas zugewiesen und R hat Recht, dass es niemandem den Wert von pdata zuweisen kann, wenn pdata vorher nicht definiert wurde.
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte