Erste Zeile aus Excel wird nicht als Variablen übernommen

Fragen zu Stata Syntax und Do-Files.

Erste Zeile aus Excel wird nicht als Variablen übernommen

Beitragvon Emolchie » Mi 24. Apr 2013, 18:36

Hallo liebe Forumsmitglieder,

ich arbeite das erste Mal mit Stata und komme leider überhaupt nicht klar.
Ich habe riesige Datensätze (in meinen Augen), die ich zusammführen und dann mit Regression auswerten muss.
Mein momentanes Problem ist jetzt noch ganz banal, da ich trotz viel Zeitaufwand immer noch ziemlich am Anfang bin.
Und zwar habe ich meine excel Dateien als .csv abgespeichert und einlesen lassen. Hat auch gut funktioniert. Nur mit einer excel Datei habe ich Probleme. Lasse ich diese in der .csv Form einlesen, so wird mir die erste Zeile (enthält Namen von Unternehmen) nicht als Variablennamen gespeichert. Da das aber über 300 Namen sind, möchte ich die ungern alle per Hand eintragen müssen. Kennt ihr vielleicht einen Trick?

Ansonsten habe ich meine Daten nun folgendermaßen vorliegen:
-die erste Zeile gibt die Variablennamen wider (die demnach für die Spalte gelten)
-das erste sind Daten: 01.01.1980, 01.01.1981...01.01.2010 01.02.1980 01.02.1981...01.02.2010 01.03.1980.....01.12.2010 eigentlich wollte ich diese in der Form 01.01.1980 01.02.1980...01.12.1980 01.01.1981 01.02.1981....01.12.2010
-dann kommen nacheinander die Namen der Unternehmen jeweils mit kürzel der Variable, also z.B. für "Price" abercrombie&fitch - P
-ich möchte am Ende ein Paneldatenformat, dazu muss ich dann ja reshape long anweden. Leider habe ich aber keine Identifizierungsvariable, bzw. ich habe für jedes Unternehmen zwar eine individuelle ISIN Nummer, diese kann ich aber nicht einlesen (siehe Problem oben) und wenn doch, würde sie ja ganz unten angehängt werden unter den Daten, d.h. sie würde eigentlich wieder zur Variable der 1. Spalte gehören anstatt eine eigene zu sein. Wüsste auch nicht, wie ich die anders einbinden kann. Wenn ich sie als neue Variable generiere habe ich die ISIN-Nummern ja in der gleichen Zeile wie die Datumsangaben, das kann dann ja auch nicht stimmen.

Ich hoffe meine Erklärung war halbwegs verständlich und jemand erbarmt sich und hilft mir. Das ist echt wichtig und ich bin total am verzweifeln :(

Liebe Grüße
Emolchie
 
Beiträge: 21
Registriert: Mi 24. Apr 2013, 18:23
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon daniel » Mi 24. Apr 2013, 19:08

Versuchen wir das Problem so einfach wie möglich uns Schritt für Schritt zu lösen.

Hast Du Zugang zu Stata 12 oder höher? Falls ja, siehe -help import excel- und spar Dir den .csv Umweg. Damit sollte das erste Problem bereist gelöst sein. Falls nein, denke ich weiter.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon Emolchie » Mi 24. Apr 2013, 19:21

Oh cool ne Antwort danke!!
Nein ich habe leider nur Stata 11. Wie gesagt mit den anderen Dateien hat es Problem geklappt. An sich auch das merge 1:1. Aber ich lass dich mal denken ;-)
Emolchie
 
Beiträge: 21
Registriert: Mi 24. Apr 2013, 18:23
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon daniel » Mi 24. Apr 2013, 20:40

Ok.

Lasse ich diese in der .csv Form einlesen, so wird mir die erste Zeile (enthält Namen von Unternehmen) nicht als Variablennamen gespeichert. Da das aber über 300 Namen sind, möchte ich die ungern alle per Hand eintragen müssen. Kennt ihr vielleicht einen Trick?


Kannst Du das Problem an einem replizierbaren Beispiel zeigen? Oder zumindest den code, den Du verwendet hast posten und genau beschreiben, was Stata tut? Gibt es eine Fehlermeldung?

Obwohl wir zu all den anderen Dingen erst später kommen, passen die Ausagen

An sich [hat] auch das merge 1:1 [geklappt].


und

Leider habe ich aber keine Identifizierungsvariable,


irgendwie gar nicht zusammen. Wie erkennst Du was zu was gehört, wenn eine Identifikation der Beobachtungen nicht möglich ist?
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon Emolchie » Mi 24. Apr 2013, 21:31

Also zum einlesen habe ich verwendet:

insheet using ISIN.csv, delim(";")

wie eben mit den anderen auch. Dann das ganze als dta abgespeichert.
Will ich dann eingeben

use alles
merge 1:1 name using isin

kommt eine fehlermeldung. "alles" ist die datei wo ich alle anderen bereits reingemerged habe, "name" ist eigentlich die variable für die datumsangaben.
die fehlermeldung lautet irgendwie r111 oder r110 (hab den PC gerade nicht mehr an), und sagt, dass die variable "name" in der using datei nicht existiert. auch wenn in den editor öffne, sind name und die anderen variablennamen (also die unternehmen) nicht in der obersten zeile für variablen sondern in der ersten zeile der beobachtungen.

Ja die Aussagen hören sich paradox an. ALlerdings haben ja alle Dateien die Datumsangaben enthalten. Darüber habe ich gemerged. Aber eindeutig identifiezieren lassen sich die Daten daran ja eigentlich nicht?!
Emolchie
 
Beiträge: 21
Registriert: Mi 24. Apr 2013, 18:23
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon daniel » Mi 24. Apr 2013, 23:52

Und wie lauten die Variablennamen?

Um die erste Zeile als Variablennamen zu verwenden, verwende den folgenden code (setzt vorraus, dass die erste Zeile nur gültige Variablennamen enthält)

Code: Alles auswählen
foreach v of varlist * {
    ren `v' `v'[1]
}
drop in 1


Verutlich musst Du danach noch mit -destring- arbeiten, um die nummerischen Werte auch als solche zu speichern.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon Emolchie » Do 25. Apr 2013, 12:13

Ok vielen Dank, ich werde das nachher mal ausprobieren :-)
Wann bist du denn meistens online? Oder meinst du wir können vielleicht mal bei Skype schreiben oder so?
Die Variablennamen sind an die 300 Stück oder so, weil ich eben so viele Unternehmen betrachten muss. Das reicht dann von 1800-flowers.com (das speichert er aber immer als v2) über abercrombie&fitch bis zygo..
Hatte mir schon überlegt, ob es nicht besser gewesen wäre von eben diesen variablennamen allen das kürzel zu entfernen und dann auf die Namen zu mergen. Allerdings weiß ich ja dann selbst nicht mehr, welche Daten für welche Variablen stehen.
Also momentan habe ich z.B. für "Price" also den Aktienkurs nur den Namen des Unternehmen. Für "Dividend per share" steht dann der Name des Unternehmens - dividendpershare etc. Also z.B. Abercrombie&Fitch - dividendpershare. Für "Free cash flow" steht dann Abercrombie&Fitch - freecf oder so etwas in der Art usw.
Emolchie
 
Beiträge: 21
Registriert: Mi 24. Apr 2013, 18:23
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon daniel » Do 25. Apr 2013, 13:50

Wann bist du denn meistens online? Oder meinst du wir können vielleicht mal bei Skype schreiben oder so?


Sorry. Ich beantworte Fragen im Forum, wann immer ich Zeit und Lust habe. Ich kann schwer abschätzen, zu welcher Zeit das sein wird.

Ich kann mir die Form des Excel Sheets noch immer nicht ganz vorstellne. Kannst Du (soweit datenschutrechtlich nichts dagegen spricht) mal eine kleine Ausschnitt als screenshot o.ä. hochladen?
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon Emolchie » Fr 26. Apr 2013, 11:36

ok klar versteh ich.. geht nur um viel und bin übelst in zeitnot wenns jetzt nicht bald hinhaut. aber bin natürlich so auch über jede Hilfe froh.
Habe jetzt screenshots gemacht.. würde ich weiter nach unten scrollen, wären natürlich auch Zahlen eingetragen, aber bis zu der Zeit wurde das noch nicht dokumentiert, also nicht wundern, dass in den zellen nix drin steht ;)
Dateianhänge
screenshot_excel.jpg
screenshot_excel.jpg (214.6 KiB) 5516-mal betrachtet
screenshot_stata.jpg
screenshot_stata.jpg (159.27 KiB) 5516-mal betrachtet
Emolchie
 
Beiträge: 21
Registriert: Mi 24. Apr 2013, 18:23
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Erste Zeile aus Excel wird nicht als Variablen übernomme

Beitragvon daniel » Fr 26. Apr 2013, 13:22

Aber Stata verwendet doch die erste Zeile als Variabelnnamen? Dass hier v2 anstelle des (illegalen) Namens 1800-flowers.com verwendet wird, sollte nicht verwundern. Die beschrieben Fehlermeldung kann ich auch nicht nachvollziehen, weil es die Variable namen sehr wohl im gezeigten Datensatz gibt. So kommen wir hier auch nicht weiter.

Dein Ansatz über das Datum zu mergen führt höchst wahrscheinlich zu unsinnigen Datensätzen. Mein Vorschlag wäre, jedes einzelen sheet in Stata zu importieren, und in Panelformat zu bekommen. Erst danach werden die einzelnen Datensätze über die Variable, die die einzelnen Unternehmen identifizieren gemerged. Vgl. auch meine Schritt für Schritt Skizze zum analogen Problem hier: stata-syntax-f18/groszer-datensatz-renditenberechnung-t353.html

Ein wenig weiter ausgeführt, dennoch abstrakt:

1. Beginne mit dem ersten sheet und lese es als Stata Datensatz ein
2. Bennene die Unternehmensvariablen so um, dass ein -reshape-n der daten möglich wird, gleichzeitig aber jedes Unternehmen eindeutig und über verschiedene sheets identifizierbar bleibt
3. Bringe die Daten ins lange (Panel) format
4. Wdh. 1-3 für alle sheets
5. merge die verschiedenen Datensätze auf die (eindeutig zu identifizierenden) Unternehemn.

Ich würde Dir gerne konkreter, vielleicht mit einem code-Gerüst helfen, aber Deine Lage (insb. der fehlende Zugang zu Stata 12, wo der Excel import doch enorm benutzerfreundlicher ist) erfordert, so denke ich, support vor Ort. Hast Du jemandenm, an Deiner Universität/Institut oder wo auch sonst Du arbeitest, an den Du Dich damit wenden kannst'?
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Nächste

Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

cron