Wie kann man R-Funktionen auf eine lange Variablenliste anwenden, ohne jeden einzelnen Variablennamen eintippen zu müssen? Das wird am Beispiel eines Datensatzes mit 235 NIR-Wellenlängen (NIR = near infrared spectroscopy) gezeigt. Dazu werden 235 einfache lineare Regressionsmodelle mit jeweils einer unabhängigen (und einer abhängigen) Variable aufgestellt, um dann die R²-Werte grafisch zu vergleichen.
Es wird gezeigt, wie man eine benutzerdefinierte Funktion schreibt, um R² einfach aus dem Regressionsmodell abzurufen. Die Schleife, die die 235 Wellenlängen abarbeitet, verwendet die Funktionen lapply sowie substitute. Mit einer weiteren Schleife (for) werden die R²-Werte in einen Vektor übertragen und anschließend mit ggplot grafisch dargestellt.
Ich verwende R-Studio. Die hier verwendeten Daten sind im R-Paket chemometrics enthalten.
Hier einige Codeschnipsel:
So sieht die abschließende Visualisierung der 235 R²-Werte aus:
Man erkennt ein wellenförmiges Muster: Bestimmte Wellenlängen korrespondieren deutlich mit der Glukose-Konzentration, andere gar nicht.
Sie benötigen eine R-Schulung für sich oder Ihre Mitarbeiter oder Unterstützung bei einem R-Projekt? Sprechen Sie mich an.