Post on 06-Feb-2018
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
SAS und R
-Ein ungleiches Paar-
15. KSFE in Heidelberg – 25. Februar 2011
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH 2
Über uns
• HMS Analytical Software ist seit 21 Jahren IT-Spezialist für Datenanalysesysteme und Business Intelligence
• Leistungen– Beratung, Konzeption und Validierung– Kundenspezifische Entwicklung– Projektmanagement und -unterstützung– Schulung und Support
• Branchen– Life Science (Pharma, Medizingeräte)– Banken und Versicherungen– und andere
• Technologien– Analytics: SAS, Microsoft Business Intelligence, R– Anwendungsentwicklung: Java und Microsoft .NET
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Agenda
• Konzept hinter SAS und R
• Installation und Support
• Wie werden Programme erstellt?
• SAS-Makros vs. R Funktionen
• Performancevergleich bei großen Datenmengen
• Schnittstellen von SAS zu R und umgekehrt
• Fazit
3
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Konzept hinter SAS
• 1970 Entstehung des Auswerteprogramms Statistical Analysis Software an der NC State University
• 1976 Gründung des SAS Institute, Sitz in Cary, North Carolina. Kommerzielles Software-Produkt.
• weltweit größte Software-Firma in Privatbesitz[1]– ca. 11.500 Angestellten– ca. 2.43 Milliarden Jahresertrag in 2010
• Kunden in ca. 50.000 Unternehmen in 100 Ländern• Fokus auf:
– Datenintegration / Data Warehousing– Business Intelligence / Data Mining– Forschung und Entwicklung– vielfältige in sich kompatible Produktlandschaft– Lizenzmodell –> SAS kann man nicht kaufen
4
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Konzept hinter R
• 1993 erstmals in einer Mailing-Liste verteilt[1]
• Open Source Software unter der General Public Licence (GNU)– kostenlose Nutzung– geschätzte 2 Millionen Nutzer[2]
• Focus auf:– statistische Berechnungen – Graphiken
• R Foundation– gemeinnütziger Verein mit Sitz in Wien– Mitglieder bestehen aus dem R Development Core-Team, 19 Personen– offizielle Stimme des R Projekts– Besitz und Verwaltung des Copyrights der Software und Dokumentation
• Vielzahl an frei verfügbaren Zusatzpaketen– werden von weltweit verteilten R-Programmieren nach Bedarf
entwickelt und nicht vom R Development Core-Team
5
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Fokus des Vergleichs von SAS und R
• Gegenstand des Vergleichs
– SAS Language mit der SAS-Fensterumgebung (Display Manager)
– R Environment
• Nicht Gegenstand des Vergleichs
– SAS Enterprise Guide
– Weitere Frontends der SAS-Plattform
6
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Installation und Support
SAS– Download-Center / DVD
– Langer Installationsprozess
– SAS Foundation• PROC CORR, PLOT, …
• MACRO
– Weitere Module• SAS STAT, GRAPH, …
– Support:• Online
• Hotline (06221 415 - 200)
• Training
• Newsletter
7
R– Download von CRAN
– Kurzer Installationsprozess
– R „Base“• Recommended / Base
Packages
– „Support“ / Hilfe:• Mailing-Listen
• R-Journal
• Bug-Tracking
• R-Search
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Wie werden Programme erstellt?
8
SAS Fensterumgebung R Environment
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Wie werden Programme erstellt?
10
SAS Code • Aufbau in Blöcken
• DATA STEP
zentraler Baustein
z.B. erzeugen von Daten
Zusammenführen von Daten
• PROZEDUR
zentraler Baustein
Spezielle Funktionalitäten
• Datenstrukturen
- numerische Werte
- alphanumerische Werte
- Tabellen
- Matrizen (nur bei IML)
- Makrovariablen
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Wie werden Programme erstellt?
11
• Zeilenbasierte Programmierung
• Objektorientierte Datenstrukturen
Vektor
Matrix
Dataframe
....
• R-Funktionen
spezielle Funktionalitäten
R Code
• Optimiert auf Matrixmanipulationen
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
SAS-Makros vs. R-Funktionen
SAS-Makrosprache
12
- Abspeichern von wiederkehrenden Programmsequenzen
- Makros werden vom Makro-Prozessor verarbeitet
- Makrovariablen speichern Text. Der Gültigkeitsbereich kann lokal oder global sein.
- Erstellung von Makro-Bibliotheken
- Makros arbeiten nach dem Textersetzungsprinzip
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
SAS-Makros vs. R-Funktionen
R-Funktionen
13
- Abspeichern von wiederkehrenden Programmsequenzen
- mehrere Funktionenwerden in der Regel zu Paketen (eigene Hilfe, Manuals usw.) zusammengefasst
- Variablen innerhalb der Funktion haben lokalen Gültigkeitsbereich
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Performancevergleich bei großen Datenmengen
Pseudocode:
14
start = Systemzeit;
Erzeuge Daten durch aneinanderhängen von
Daten1 und Daten2; /*512 Byte*/
Sortiere Daten nach Spalte1 & Spalte2;
Selektiere * wo SpalteXY = „ABCD“;
ende = Systemzeit;
dauer = ende – start;
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Performancevergleich bei großen Datenmengen
15
0
5
10
15
20
25
30
35
40
45
504
0
54
0
10
40
15
40
20
40
25
40
30
40
Tausende
Bere
chnungsdauer
[sec]
Zeilen des Datensatz
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Performancevergleich bei großen Datenmengen
16
0
100
200
300
400
500
600
700
8004
0
54
0
10
40
15
40
20
40
25
40
30
40
35
40
40
40
45
40
50
40
55
40
Tausende
Bere
chnungsdauer
[sec]
Zeilen des Datensatz
Mit R kam es zum Abbruch
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Performancevergleich bei großen Datenmengen
17
1)
2)
3)
4)
R bei großen Datenmengen
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Performancevergleich bei großen Datenmengen
• Intel Core Duo CPU, 2.53 GHz, 2GB RAM• SAS 9.2• R 2.11.1
18
R schneller bei durchgeführten Operationen - R lädt Daten in Arbeitsspeicher - Limitierung durch Größe des Arbeitsspeichers
SAS kann große Datenmengen verarbeiten- Daten werden pro Verarbeitungsschritt von der
Festplatte gelesen und wieder geschrieben- Berechnungsdauer entsprechend höher- Verwendung des Hauptspeichers ebenfalls möglich
(SASFILE-Anweisung)
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Schnittstelle SAS IML 9.22 zu R
19
• IML muss lizensiert und installiert sein• SAS muss mit Option RLANG gestartet werden• Kompatibel mit R Version R-2.10.1
Start-Statement R-Code
End-Statement R-Code
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Schnittstelle SAS IML 9.22 zu R
20
Subroutine SAS Quelle R Ziel-Objekt
ExportDataSetToR SAS data set R data frame
ExportMatrixToR SAS/IML matrix R matrix
Subroutine R Ziel-Objekt SAS Quelle
ImportDataSetFromR R expression SAS data set
ImportMatrixFromR R expression SAS/IML matrix
Datenimport von R zu SAS:
Datenexport von SAS zu R:
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Schnittstelle R zu SAS
• Keine direkte Schnittstelle zu SAS implementiert
21
• Aufruf von SAS aus R mittels System-Befehl:
• Datenimport in R:
• Aufruf des SAS-Programms:
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Qualität der Software
SAS
– kundenorientiert
– Installation / Operational –Qualification Tool
– Entwickler arbeiten lokal im Team
– definierte Testabläufe
22
R
– entwicklerorientiert
– Installation Qualification-Tool (vorhanden aber fehlerhaft)
– Entwickler weltweit verteilt
– Zusatzpakete sind meist nur unzulänglich geprüft
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH
Fazit
• Es wurde SAS Language und R dargestellt– SAS Plattform besitzt eine Fülle an Frontends, Server,
Metadatenverwaltung, Middleware-Komponenten
• Unterschiedliche – Entstehungsgeschichten– Ansprüche an den Nutzer– Performance bei großen Datenmengen– Installation und Support
• Ähnliche– Entwicklungsumgebung– Aufbau von wiederverwendbarem Code
• Gemeinsame– Schnittstelle
• Persönlicher Eindruck– SAS mit besser geprüfter Qualität– R schneller bei neuen Entwicklungen– R sehr gut integrierbar in SAS mit SAS IML 9.22– Kein pauschales besser oder schlechter
23
Dr. Peter Bewerunge© 2011 HMS Analytical Software GmbH 24
Vielen Dank!
Dr. Peter BewerungeDipl. Ing. (FH) Biotechnologie
Softwareentwickler
HMS Analytical Software GmbHRohrbacher Str. 26 • 69115 HeidelbergTelefon +49 6221 6051-0
Peter.Bewerunge@analytical-software.dewww.analytical-software.de
Besuchen Sie uns auf unserem Messestand im Hörsaalgebäude Chemie! Dort• können Sie im Anschluss mit dem Referenten diskutieren• finden Sie Demos zu diesem Vortrag • können Sie sich über das Angebot von HMS informieren• gibt es Jobangebote • gibt es Informationen für Studenten zu Praktika und
Abschlussarbeiten bei HMS