Abo
  • 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. FLOCERT GmbH, Bonn
  2. Felsomat GmbH & Co. KG, Königsbach-Stein

  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.

 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
Hardware-Angebote
  1. (u. a. Fractal Design Meshfy Light Tint 69,90€)
  2. ab 225€
  3. 62,90€

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
       


Der Mars-Maulwurf des DLR erklärt

Ulrich Köhler vom DLR erläutert die Funktionsweise des Mars-Maulwurfes.

Der Mars-Maulwurf des DLR erklärt Video aufrufen
Geforce GTX 1660 im Test: Für 230 Euro eine faire Sache
Geforce GTX 1660 im Test
Für 230 Euro eine faire Sache

Die Geforce GTX 1660 - ohne Ti am Ende - rechnet so flott wie AMDs Radeon RX 590 und kostet in etwa das Gleiche. Der klare Vorteil der Nvidia-Grafikkarte ist die drastisch geringere Leistungsaufnahme.

  1. Nvidia Turing OBS unterstützt Encoder der Geforce RTX
  2. Geforce GTX 1660 Ti im Test Nvidia kann Turing auch günstig(er)
  3. Turing-Grafikkarten Nvidias Geforce 1660/1650 erscheint im März

Galaxy S10e im Test: Samsungs kleines feines Top-Smartphone
Galaxy S10e im Test
Samsungs kleines feines Top-Smartphone

Mit dem Galaxy S10e bietet Samsung auch ein kompaktes Modell seiner neuen Oberklasse-Smartphone-Serie an. Beim Gerät gibt es zwar ein paar Abstriche bei der Hardware, es liegt aber fantastisch in der Hand und macht super Fotos - für uns der klare Geheimtipp der neuen Reihe.
Ein Test von Tobias Költzsch

  1. Samsung Galaxy M20 kommt an drei Tagen nach Deutschland
  2. Smartphone Samsungs LPDDR4X-Speicher fasst 12 GByte
  3. Non-Volatile Memory Samsung liefert eMRAM aus

Trüberbrook im Test: Provinzielles Abenteuer
Trüberbrook im Test
Provinzielles Abenteuer

Neuartiges Produktionsverfahren, prominente Sprecher: Das bereits vor seiner Veröffentlichung für den Deutschen Computerspielpreis nominierte Adventure Trüberbrook bietet trotz solcher Auffälligkeiten nur ein allzu braves Abenteuer in der deutschen Provinz der 60er Jahre.
Von Peter Steinlechner

  1. Quellcode Al Lowe verkauft Disketten mit Larry 1 auf Ebay
  2. Wet Dreams Don't Dry im Test Leisure Suit Larry im Land der Hipster
  3. Life is Strange 2 im Test Interaktiver Road-Movie-Mystery-Thriller

    •  /