• IT-Karriere:
  • Services:

Die Programmiersprache für Statistikfans

Zunächst haben wir die Daten direkt aus der MySQL-Datenbank ermittelt. Aber schon beim Median nahmen wir R zu Hilfe. Die Programmiersprache R ist speziell für die Datenanalyse entwickelt worden, insbesondere auch für statistische Analysen. Deshalb sind solche Operationen zuweilen sehr trivial und enorm schnell. Für die Bestimmung des obengenannten Median der Anzahl von Messwerten benötigen wir lediglich vier Codezeilen auf der interaktiven Shell von R, nachdem wir aus der Datenbank die nach Token gruppierten, aber unsortierten Daten herausgezogen haben:

Stellenmarkt
  1. über Hays AG, Dortmund
  2. Dr. August Oetker Nahrungsmittel KG, Bielefeld

  1. # Lade CSV-Datei
  2. daten <- read.csv("daten.csv");
  3. # Benenne Spalten
  4. colnames(daten)<-c("token", "werte_anzahl");
  5. # Beachte nur die Zeilen mit einem Token
  6. daten <- daten[daten$token != 'Null',]
  7. # Median ermitteln
  8. median(daten$werte_anzahl);
  9. [1] 2166

Der Aufruf der median()-Funktion benötigt nur Millisekunden. Wie im Beispiel aber schon deutlich wird, bringt R als fachspezifische Sprache ihre eigene Syntax und andere Eigenheiten mit. Klassische Sprachelemente wie Schleifen und if-Bedingungen sind zwar möglich, führen aber oft zu kompliziertem und langsamem Code. Wer sich aber auf R einlässt und aus eingefahrenen Denkmustern aus C, PHP & Co. ausbricht, kann mit wenigen Zeilen Code zuweilen wahre Wunder zustande bringen.

QGIS und Python setzten wir auch ein

Zwangsläufig geht damit eine steile Lernkurve einher, die uns mehr Zeit gekostet hat, als wir ursprünglich dachten. Das gilt auch für QGIS. Es ist ein Programm für geografische Analysen, Anfänger dürften an ihm aber erst einmal schnell als Malprogramm für Karten Gefallen finden. Trotzdem verlangt es einen gehörigen Aufwand, um sich in die Fachbegriffe und Workflows einzuarbeiten. Schließlich verwenden wir auch Python. Wir benutzen es hauptsächlich, um Daten aus MySQL in CSV-Daten zu arrangieren. Einiges davon können wir auch MySQL erledigen lassen, in Python fällt es uns aber zuweilen leichter und der Code ist übersichtlicher. Allerdings sind CSV-Dateien im Zusammenspiel mit R sehr leicht zu benutzen. Und wir merken früh, dass es sinnvoll ist, auch vermeintliche Zwischenergebnisse besser stets auf Festplatte zu speichern, um jederzeit unsere Arbeit unterbrechen zu können.

Es gibt auch eine ganze Reihe kommerzielle Programme für die folgenden Aufgaben, mit denen wir uns das Leben wohl einfacher machen würden. Doch zum einen wollen wir offene Programme einzusetzen, zum anderen wollen wir so viel wie möglich durch Skripte automatisieren können. Idealerweise können wir diese Skripte für spätere Aufgaben auch wiederverwenden.

Heiteres Städteraten

Zurück zu den Daten. Bevor wir tatsächlich Aussagen extrahieren können, validieren wir die Daten. Am Anfang stehen die Städtenamen. Spaßeinträge halten sich sehr in Grenzen, auch wenn wir einige Einträge anfangs dafür halten. Aber die Orte "Au ZH", "Ban Pong" und "Wetter" heißen wirklich so. Mancher Lokalpatriot hat auch noch den Stadtteil angegeben. Mit Zeichensatz-Problemen haben wir ebenfalls gerechnet. Auch auffällig viele Benutzer kannten wohl das Problem, weshalb wir zum Beispiel auf "Koeln" und "Luebeck" stoßen, aber auch "Munich". Mehrdeutigkeiten lösen wir üblicherweise aufgrund einer ebenfalls angegebenen Postleitzahl eindeutig auf.

Um die Breitengrad- und Längengrad-Angabe erst einmal grob zu prüfen, nutzen wir einen simplen Trick: Wir nutzen QGIS im Zusammenspiel mit Vektorkarten, um die Angaben darzustellen. Eine hilfreiche Übersicht, wo solche Karten heruntergeladen werden können, gibt es auf einer Webseite.

Mit Längen- und Breitengraden hantieren

So erhalten wir einen ersten Überblick, und wir entdecken tatsächlich einige Merkwürdigkeiten. Einige Punkte liegen in Ländern, die nicht in unserer Datenbank vermerkt sind. Wir schauen uns die Datensätze genauer an und stellen fest, dass offensichtlich einige Nutzer den Breitengrad (Latitude) und Längengrad (Longitude) vertauscht haben. Einige Punkthaufen erinnern uns an ein gitterartiges Muster und liegen weitab jeglicher Besiedlung. Hier fehlt es den geografischen Angaben offensichtlich an Genauigkeit. Das ist leider unsere eigene Schuld: Wir empfahlen in unserer Dokumentation ursprünglich, Breiten- und Längengrad auf zwei Stellen nach dem Komma zu kürzen. Das haben wir zwar korrigiert, aber das war zu spät. Da wir aber sowieso fehlende geografische Angaben nachträglich ermitteln wollen, entscheiden wir uns, dieses auch bei bereits bestehenden Daten zu tun.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Mitmachprojekt: Frostbeulen, zieht nach Österreich!Geoencoding hilft uns weiter 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9.  


Anzeige
Top-Angebote
  1. 169,90€ (Vergleichspreis 204,68€)
  2. 29,99€ (Bestpreis!)
  3. 9,99€ (Vergleichspreis 17,21€)
  4. 44,99€ (Vergleichspreis 56,61€)

H4ndy 15. Mär 2017

Seit Golem.de nur noch über SSL läuft, funktioniert mein kleiner ESP leider nicht mehr...

Eheran 09. Mär 2017

Weil das Luftfeuchte, also verdampftes Wasser, ist. So wie man bei kochendem Wasser...

am (golem.de) 09. Mär 2017

Da danken wir doch ganz besonders!

am (golem.de) 09. Mär 2017

Vielen Dank und der Fehelr ist gefixt!

am (golem.de) 09. Mär 2017

Vielen Dank für das Lob! Wegen Skript siehe hier: https://forum.golem.de/kommentare...


Folgen Sie uns
       


Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /