Skip to main content
Top

2017 | OriginalPaper | Chapter

17. R als Programmiersprache

Author : Daniel Wollschläger

Published in: Grundlagen der Datenanalyse mit R

Publisher: Springer Berlin Heidelberg

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Zusammenfassung

R bietet nicht nur Mittel zur numerischen und grafischen Datenanalyse, sondern ist gleichzeitig eine Programmiersprache, die dieselbe Syntax wie die bisher behandelten Auswertungen verwendet. Das sehr umfangreiche Thema der Programmierung mit R soll in den folgenden Abschnitten nur soweit angedeutet werden, dass nützliche Sprachkonstrukte wie z. B. Kontrollstrukturen verwendet sowie einfache Funktionen selbst erstellt und analysiert werden können. Eine ausführliche Behandlung sei der hierauf spezialisierten Literatur überlassen (Chambers, 2008; Ligges, 2016; Wickham, 2014). Die Entwicklung eigener R-Pakete behandeln R Core Team (2016d) und Wickham (2015).

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
Für Hilfe zu diesem Thema vgl. ?Control.
 
2
Mit if(FALSE) { 〈Befehle〉 } können damit schnell viele Befehlszeilen von der Verarbeitung ausgeschlossen werden, ohne diese einzeln mit # auskommentieren zu müssen. Die ausgeschlossenen Zeilen müssen dabei jedoch nach wie vor syntaktisch korrekt, können also keine Kommentare im engeren Sinne sein.
 
3
Allgemein gilt, dass in einer Zeile stehende Befehle einen Block bilden und zusammen ausgeführt werden. Geschweifte Klammern sorgen dafür, dass die zwischen ihnen stehenden Befehle auch dann als einzelner Block gewertet werden, wenn sie sich über mehrere Zeile erstrecken. Die Auswertung erfolgt erst, wenn die Klammer geschlossen wird, auch wenn Abschnitte davor bereits für sich genommen syntaktisch vollständig sind.
 
4
Anders als in kompilierten Programmiersprachen wie etwa C oder Fortran sind Schleifen in R als interpretierter Sprache oft ineffizient. Als Grundregel sollten sie deswegen bei der Auswertung größerer Datenmengen nach Möglichkeit vermieden und durch vektorisierte Befehle ersetzt werden, die mehrere, als Vektor zusammengefasste Argumente gleichzeitig bearbeiten (Ligges & Fox, 2008).
 
5
Die aufgerufene Funktion kann nur Kopien der ursprünglichen Objekte, nicht aber die Objekte selbst ändern, da Argumente als Wertparameter (call by value) übergeben werden.
 
6
Dies sind lokale Objekte, sie existieren in einer beim Funktionsaufruf eigens erstellten Umgebung (Abschn. 1.​4.​1). Für das in diesem Kontext relevante, aber komplexe Thema der Regeln für die Gültigkeit von Objekten (scoping) vgl. Chambers (2008) und Ligges (2016).
 
7
Bis zur Auswertung ist das Argument ein promise. Für gewöhnliche Zuweisungen an Objekte gilt dagegen das Eager-Evaluation-Prinzip, nach dem der Inhalt von neuen Objekten schon bei der Zuweisung ausgewertet wird. Um auch für diese Objekte das Lazy-Evaluation-Prinzip zu nutzen, muss delayedAssign() verwendet werden.
 
8
Für einfache, nur zum eigenen Gebrauch bestimmte Funktionen mag dies überflüssig erscheinen, da man dann selbst darauf achten kann, sie korrekt zu verwenden. Allerdings ist dies gefährlich, da sich Funktionen durch andere als die vorgesehenen Eingangsinformationen stillschweigend anders als beabsichtigt verhalten können und so u. U. schwer entdeckbare Fehler verursachen (Abschn. 17.2.6).
 
9
Es handelt sich bei der hier vorgestellten Technik um das S3-Paradigma – in Abgrenzung zum flexibleren, aber auch komplizierteren S4-Paradigma, das etwa beim beschriebenen method dispatch nicht auf das erste Argument beschränkt ist.
 
10
Für S4-Methoden analog showMethods("〈Funktionsname〉") sowie showMethods (classes="〈Klasse〉").
 
11
Die Entwicklungsumgebungen RStudio und Architect bzw. Eclipse+StatET bieten grafische Oberflächen, die das debugging sehr erleichtern.
 
12
Operatoren sind in rückwärts gerichtete Hochkommata zu setzen, etwa ‘+‘ für die Addition.
 
13
Für S4-Methoden analog showMethods("〈Funktionsname〉").
 
14
Für S4-Methoden analog showMethods("〈Funktionsname〉", classes=" 〈Kla- sse〉", includeDefs=TRUE).
 
Literature
go back to reference Adler, J. (2012). R in a Nutshell (2. Aufl.). Sebastopol, CA: O’Reilly. Adler, J. (2012). R in a Nutshell (2. Aufl.). Sebastopol, CA: O’Reilly.
go back to reference Agresti, A. (2007). An introduction to categorical data analysis (2. Aufl.). New York, NY: Wiley.MATHCrossRef Agresti, A. (2007). An introduction to categorical data analysis (2. Aufl.). New York, NY: Wiley.MATHCrossRef
go back to reference Aiken, L. S., & West, S. G. (1991). Multiple regression: Testing and interpreting interactions. Thousand Oaks, CA: SAGE. Aiken, L. S., & West, S. G. (1991). Multiple regression: Testing and interpreting interactions. Thousand Oaks, CA: SAGE.
go back to reference Allison, P. D. (2008). Convergence failures in logistic regression. SAS Global Forum, 360, 1–11. Allison, P. D. (2008). Convergence failures in logistic regression. SAS Global Forum, 360, 1–11.
go back to reference Andres, J. (1996). Das allgemeine lineare Modell. In E. Erdfelder, R. Mausfeld, T. Meiser, & G. Rudinger (Hrsg.), Handbuch Quantitative Methoden (S. 185–200). Weinheim: Beltz. Andres, J. (1996). Das allgemeine lineare Modell. In E. Erdfelder, R. Mausfeld, T. Meiser, & G. Rudinger (Hrsg.), Handbuch Quantitative Methoden (S. 185–200). Weinheim: Beltz.
go back to reference Backhaus, K., Erichson, B., Plinke, W., & Weiber, R. (2015a). Multivariate Analysemethoden (14. Aufl.). Heidelberg: Springer.MATH Backhaus, K., Erichson, B., Plinke, W., & Weiber, R. (2015a). Multivariate Analysemethoden (14. Aufl.). Heidelberg: Springer.MATH
go back to reference Backhaus, K., Erichson, B., & Weiber, R. (2015b). Fortgeschrittene Multivariate Analysemethoden (3. Aufl.). Heidelberg: Springer.MATHCrossRef Backhaus, K., Erichson, B., & Weiber, R. (2015b). Fortgeschrittene Multivariate Analysemethoden (3. Aufl.). Heidelberg: Springer.MATHCrossRef
go back to reference Becker, R. A., Chambers, J. M., & Wilks, A. R. (1988). The new S language: A programming environment for data analysis and graphics. Pacific Grove, CA: Wadsworth & Brooks/Cole.MATH Becker, R. A., Chambers, J. M., & Wilks, A. R. (1988). The new S language: A programming environment for data analysis and graphics. Pacific Grove, CA: Wadsworth & Brooks/Cole.MATH
go back to reference Bender, R., Augustin, T., & Blettner, M. (2005). Generating survival times to simulate Cox proportional hazards models. Statistics in Medicine, 24, 1713–1723.MathSciNetCrossRef Bender, R., Augustin, T., & Blettner, M. (2005). Generating survival times to simulate Cox proportional hazards models. Statistics in Medicine, 24, 1713–1723.MathSciNetCrossRef
go back to reference Beyersmann, J., Allignol, A., & Schumacher, M. (2012). Competing risks and multistate models with R. New York, NY: Springer.MATHCrossRef Beyersmann, J., Allignol, A., & Schumacher, M. (2012). Competing risks and multistate models with R. New York, NY: Springer.MATHCrossRef
go back to reference Bivand, R. S., Pebesma, E., & Gómez-Rubio, V. (2013). Applied spatial data analysis with R. New York, NY: Springer.MATHCrossRef Bivand, R. S., Pebesma, E., & Gómez-Rubio, V. (2013). Applied spatial data analysis with R. New York, NY: Springer.MATHCrossRef
go back to reference Bloomfield, V. A. (2014). Using R for numerical analysis in science and engineering. Boca Raton, FL: Chapman & Hall/CRC.MATH Bloomfield, V. A. (2014). Using R for numerical analysis in science and engineering. Boca Raton, FL: Chapman & Hall/CRC.MATH
go back to reference Bortz, J., Lienert, G. A., & Boehnke, K. (2010). Verteilungsfreie Methoden in der Biostatistik (3. Aufl.). Heidelberg: Springer. Bortz, J., Lienert, G. A., & Boehnke, K. (2010). Verteilungsfreie Methoden in der Biostatistik (3. Aufl.). Heidelberg: Springer.
go back to reference Bronstein, I. N., & Semendjajew, K. A. (2012). Springer Taschenbuch der Mathematik (3. Aufl.). Berlin: Springer.MATH Bronstein, I. N., & Semendjajew, K. A. (2012). Springer Taschenbuch der Mathematik (3. Aufl.). Berlin: Springer.MATH
go back to reference Büning, H., & Trenkler, G. (1994). Nichtparametrische statistische Methoden (2. Aufl.). Berlin: Walter de Gruyter.MATHCrossRef Büning, H., & Trenkler, G. (1994). Nichtparametrische statistische Methoden (2. Aufl.). Berlin: Walter de Gruyter.MATHCrossRef
go back to reference Chernik, M. R., & LaBudde, R. A. (2011). An introduction to bootstrap methods with applications to R. Hoboken, NJ: Wiley. Chernik, M. R., & LaBudde, R. A. (2011). An introduction to bootstrap methods with applications to R. Hoboken, NJ: Wiley.
go back to reference Davison, A. C., & Hinkley, D. V. (1997). Bootstrap methods and their applications. Cambridge, UK: Cambridge University Press.MATHCrossRef Davison, A. C., & Hinkley, D. V. (1997). Bootstrap methods and their applications. Cambridge, UK: Cambridge University Press.MATHCrossRef
go back to reference Duchateau, L., & Janssen, P. (2007). The frailty model. New York, NY: Springer.MATH Duchateau, L., & Janssen, P. (2007). The frailty model. New York, NY: Springer.MATH
go back to reference Eid, M., Gollwitzer, M., & Schmitt, M. (2015). Statistik und Forschungsmethoden (5. Aufl.). Weinheim: Beltz. Eid, M., Gollwitzer, M., & Schmitt, M. (2015). Statistik und Forschungsmethoden (5. Aufl.). Weinheim: Beltz.
go back to reference Faul, F., Erdfelder, E., Lang, A.-G., & Buchner, A. (2007). G*Power 3: A flexible statistical power analysis program for the social, behavioral, and biomedical sciences. Behavior Research Methods, 39(2), 175–191. http://www.gpower.hhu.de/ CrossRef Faul, F., Erdfelder, E., Lang, A.-G., & Buchner, A. (2007). G*Power 3: A flexible statistical power analysis program for the social, behavioral, and biomedical sciences. Behavior Research Methods, 39(2), 175–191. http://​www.​gpower.​hhu.​de/​ CrossRef
go back to reference Fischer, G. (2013). Lineare algebra (18. Aufl.). Wiesbaden: Vieweg+Teubner. Fischer, G. (2013). Lineare algebra (18. Aufl.). Wiesbaden: Vieweg+Teubner.
go back to reference Galecki, A. T., & Burzykowski, T. (2013). Linear mixed-effects models using R: A step-by-step approach. New York, NY: Springer.MATHCrossRef Galecki, A. T., & Burzykowski, T. (2013). Linear mixed-effects models using R: A step-by-step approach. New York, NY: Springer.MATHCrossRef
go back to reference Genz, A., & Bretz, F. (2009). Computation of multivariate normal and t probabilities (Lecture notes in statistics, Vol. 195). Heidelberg: Springer.MATHCrossRef Genz, A., & Bretz, F. (2009). Computation of multivariate normal and t probabilities (Lecture notes in statistics, Vol. 195). Heidelberg: Springer.MATHCrossRef
go back to reference Good, P. I. (2004). Permutation, parametric, and bootstrap tests of hypotheses (3. Aufl.). New York, NY: Springer.MATH Good, P. I. (2004). Permutation, parametric, and bootstrap tests of hypotheses (3. Aufl.). New York, NY: Springer.MATH
go back to reference Hoffman, D. D. (2000). Visual intelligence: How we create what we see. New York, NY: W. W. Norton & Company. Hoffman, D. D. (2000). Visual intelligence: How we create what we see. New York, NY: W. W. Norton & Company.
go back to reference Hosmer Jr, D. W., Lemeshow, S., & May, S. (2008). Applied survival analysis: Regression modeling of time to event data (2. Aufl.). New York, NY: Wiley.MATHCrossRef Hosmer Jr, D. W., Lemeshow, S., & May, S. (2008). Applied survival analysis: Regression modeling of time to event data (2. Aufl.). New York, NY: Wiley.MATHCrossRef
go back to reference Hothorn, T., Bretz, F., & Westfall, P. (2008). Simultaneous inference in general parametric models. Biometrical Journal, 50(3), 346–363.MathSciNetMATHCrossRef Hothorn, T., Bretz, F., & Westfall, P. (2008). Simultaneous inference in general parametric models. Biometrical Journal, 50(3), 346–363.MathSciNetMATHCrossRef
go back to reference Hothorn, T., & Everitt, B. S. (2014). A handbook of statistical analysis using R (3. Aufl.). Boca Raton, FL: Chapman & Hall/CRC.MATH Hothorn, T., & Everitt, B. S. (2014). A handbook of statistical analysis using R (3. Aufl.). Boca Raton, FL: Chapman & Hall/CRC.MATH
go back to reference Huber, W., Carey, V. J., Gentleman, R., Anders, S., Carlson, M., Carvalho, B. S., … Morgan, M. (2015). Orchestrating high-throughput genomic analysis with Bioconductor. Nature Methods, 12, 115–121. Huber, W., Carey, V. J., Gentleman, R., Anders, S., Carlson, M., Carvalho, B. S., … Morgan, M. (2015). Orchestrating high-throughput genomic analysis with Bioconductor. Nature Methods, 12, 115–121.
go back to reference Ihaka, R., & Gentleman, R. (1996). R: A language for data analysis and graphics. Journal of Computational and Graphical Statistics, 5(3), 299–314. Ihaka, R., & Gentleman, R. (1996). R: A language for data analysis and graphics. Journal of Computational and Graphical Statistics, 5(3), 299–314.
go back to reference Klein, J. P., & Moeschberger, M. L. (2003). Survival analysis: Techniques for censored and truncated data (2. Aufl.). New York, NY: Springer.MATH Klein, J. P., & Moeschberger, M. L. (2003). Survival analysis: Techniques for censored and truncated data (2. Aufl.). New York, NY: Springer.MATH
go back to reference Kruschke, J. K. (2015). Doing Bayesian data analysis: A tutorial with R, JAGS, and Stan (2. Aufl.). Amsterdam: Academic Press.MATH Kruschke, J. K. (2015). Doing Bayesian data analysis: A tutorial with R, JAGS, and Stan (2. Aufl.). Amsterdam: Academic Press.MATH
go back to reference Lemon, J. (2006). Plotrix: a package in the red light district of R. R News, 6(4), 8–12. Lemon, J. (2006). Plotrix: a package in the red light district of R. R News, 6(4), 8–12.
go back to reference Ligges, U. (2016). Programmieren mit R (4. Aufl.). Berlin: Springer Spektrum.MATH Ligges, U. (2016). Programmieren mit R (4. Aufl.). Berlin: Springer Spektrum.MATH
go back to reference Mardia, K. V., Kent, J. T., & Bibby, J. M. (1980). Multivariate Analysis. London, UK: Academic Press.MATH Mardia, K. V., Kent, J. T., & Bibby, J. M. (1980). Multivariate Analysis. London, UK: Academic Press.MATH
go back to reference Maronna, R. A., Martin, R. D., & Yohai, V. J. (2006). Robust Statistics: Theory and Methods. New York, NY: Wiley.MATHCrossRef Maronna, R. A., Martin, R. D., & Yohai, V. J. (2006). Robust Statistics: Theory and Methods. New York, NY: Wiley.MATHCrossRef
go back to reference Maxwell, S. E., & Delaney, H. D. (2004). Designing experiments and analyzing data: A model comparison perspective (2. Aufl.). Mahwah, NJ: Lawrence Erlbaum.MATH Maxwell, S. E., & Delaney, H. D. (2004). Designing experiments and analyzing data: A model comparison perspective (2. Aufl.). Mahwah, NJ: Lawrence Erlbaum.MATH
go back to reference McElreath, R. (2015). Statistical rethinking: A Bayesian course with examples in R and Stan. Boca Raton, FL: Chapman & Hall/CRC. McElreath, R. (2015). Statistical rethinking: A Bayesian course with examples in R and Stan. Boca Raton, FL: Chapman & Hall/CRC.
go back to reference Miller, A. J. (2002). Subset selection in regression (2. Aufl.). Boca Raton, FL: Chapman & Hall/CRC.MATHCrossRef Miller, A. J. (2002). Subset selection in regression (2. Aufl.). Boca Raton, FL: Chapman & Hall/CRC.MATHCrossRef
go back to reference Nash, J. C. (2014a). Nonlinear parameter optimization using R tools. Chichester, UK: Wiley.MATHCrossRef Nash, J. C. (2014a). Nonlinear parameter optimization using R tools. Chichester, UK: Wiley.MATHCrossRef
go back to reference Pinheiro, J. C., & Bates, D. M. (2000). Mixed-effects models in S and S-PLUS. New York, NY: Springer.MATHCrossRef Pinheiro, J. C., & Bates, D. M. (2000). Mixed-effects models in S and S-PLUS. New York, NY: Springer.MATHCrossRef
go back to reference Rödiger, S., Friedrichsmeier, T., Prasenjit, K., & Michalke, M. (2011). RKWard: A Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with R. Journal of Statistical Software, 49(9), 1–34. http://www.jstatsoft.org/v49/i09/ Rödiger, S., Friedrichsmeier, T., Prasenjit, K., & Michalke, M. (2011). RKWard: A Comprehensive Graphical User Interface and Integrated Development Environment for Statistical Analysis with R. Journal of Statistical Software, 49(9), 1–34. http://​www.​jstatsoft.​org/​v49/​i09/​
go back to reference Spector, P. (2008). Data manipulation with R. New York, NY: Springer.MATH Spector, P. (2008). Data manipulation with R. New York, NY: Springer.MATH
go back to reference Urbanek, S., & Horner, J. (2015). Cairo: R graphics device using cairo graphics library for creating high-quality bitmap (PNG, JPEG, TIFF), vector (PDF, SVG, PostScript) and display (X11 and Win32) output [Software]. http://CRAN.R-project.org/package=Cairo (R package version 1.5-9) Urbanek, S., & Horner, J. (2015). Cairo: R graphics device using cairo graphics library for creating high-quality bitmap (PNG, JPEG, TIFF), vector (PDF, SVG, PostScript) and display (X11 and Win32) output [Software]. http://​CRAN.​R-project.​org/​package=​Cairo (R package version 1.5-9)
go back to reference van Buuren, S. (2012). Flexible imputation of missing data. Boca Raton, FL: Chapman & Hall/CRC.MATHCrossRef van Buuren, S. (2012). Flexible imputation of missing data. Boca Raton, FL: Chapman & Hall/CRC.MATHCrossRef
go back to reference Wilkinson, G. N., & Rogers, C. E. (1973). Symbolic description of factorial models for analysis of variance. Applied Statistics, 22, 392–399.CrossRef Wilkinson, G. N., & Rogers, C. E. (1973). Symbolic description of factorial models for analysis of variance. Applied Statistics, 22, 392–399.CrossRef
go back to reference Wilkinson, L. (2005). The Grammar of Graphics (2. Aufl.). New York, NY: Springer.MATH Wilkinson, L. (2005). The Grammar of Graphics (2. Aufl.). New York, NY: Springer.MATH
go back to reference Wirtz, M., & Caspar, F. (2002). Beurteilerübereinstimmung und Beurteilerreliabilität. Göttingen: Hogrefe. Wirtz, M., & Caspar, F. (2002). Beurteilerübereinstimmung und Beurteilerreliabilität. Göttingen: Hogrefe.
go back to reference Wood, S. N. (2006). Generalized additive models: An introduction with R. Boca Raton, FL: Chapman & Hall/CRC.MATH Wood, S. N. (2006). Generalized additive models: An introduction with R. Boca Raton, FL: Chapman & Hall/CRC.MATH
go back to reference Xie, Y. (2015). Dynamic documents with R and knitr (2. Aufl.). Boca Raton, FL: Chapman & Hall/CRC. Xie, Y. (2015). Dynamic documents with R and knitr (2. Aufl.). Boca Raton, FL: Chapman & Hall/CRC.
go back to reference Yan, J., & Fine, J. P. (2004). Estimating equations for association structures. Statistics in Medicine, 23(6), 859–874.CrossRef Yan, J., & Fine, J. P. (2004). Estimating equations for association structures. Statistics in Medicine, 23(6), 859–874.CrossRef
go back to reference Zelterman, D. (2015). Applied multivariate statistics with R. Cham: Springer.CrossRef Zelterman, D. (2015). Applied multivariate statistics with R. Cham: Springer.CrossRef
Metadata
Title
R als Programmiersprache
Author
Daniel Wollschläger
Copyright Year
2017
Publisher
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-662-53670-4_17

Premium Partner