Lassen Sie uns nun mit unserer neuen Funktion arbeiten. Markieren Sie einen Zellbereich, der einige Zahlen und eine leere Zelle enthält. Löschen Sie jetzt eine oder mehrere Zellen aus dem Wertebereich (z. B. Zelle I31 aus Abb. 6. Sie sehen, diese Zellen-Werte werden nicht mehr mitgezählt.
Die Übergabe von Zellbereichen nach R ist offensichtlich recht einfach. Allerdings besteht häufig die Notwendigkeit, nicht nur einen einzigen Parameter zurückzugeben, sondern ganze Bereiche, z. B. eine Datenbankfrage oder die Regelmenge eines Entscheidungsbaumverfahrens. Diese Notwendigkeit besteht auch bei Excel-Funktionen und wird von Excel schon lange unterstützt. Sog. Matrix-Funktionen erlauben die Rückgabe mehrerer Zellen. Die Ergebnisse einer Regression ("=RGP()"), z. B. die Regressionskoeffizienten, können nur mittels Matrixfunktionen dargestellt werden. Matrix-Funktionen haben aber auch andere Vorteile. Gegenüber dem Kopieren von Formeln über Zellbereiche besteht der Vorteil, dass nur eine Definition existiert. Eine versehentliche Änderung einzelner Zellen kann so nicht passieren
In BERT ist das nicht anders. Ergebnisbereiche werden von der R-Funktion zurückgegeben und lassen sich nur über eine Matrixfunktionen abrufen. Um dies zu verdeutlichen, werde ich nun eine komfortable Abweichungsfunktion schreiben. Sie kennen sicherlich den folgenden Sachverhalt: Abweichungsspalten haben in vielen Berichten eine ähnliche Struktur. So definiert man in Berichten immer wieder die absolute Abweichung und die Abweichung in %, wobei Planwerte mit Null abgefangen werden müssen (wegen der Division durch Null). Diese wiederholende Tätigkeit ist nun kein wirklich großer Aufwand, aber man kann es auch automatisieren.
So könnte die R-Funktion definiert werden:
E.variance <-function(plan,actuals) { cbind(actuals – plan,ifelse(plan==0,0,(actuals – plan)/ plan)) } |
"cbind" steht für "column bind". Spalten werden also zu einer Matrix oder einer Tabelle verbunden. Wie Sie sehen, ist dies eine sehr kompakte Definition. Abb. 9 enthält 3 Plan- und 3 Istwerte in den Zellen D42:E44. Schreiben Sie in die Zelle F42 die Formel
=R.E.variance(D42:D44;E42:E44) |
Markieren Sie den Bereich F42:G44, drücken F2 und anschließend STRG, SHIFT und RETURN gleichzeitig. So wird Excel bekannt gegeben, dass es sich um eine Matrixformel handelt. Nun steht Ihnen die R-Welt in Excel zur Verfügung.
Abb. 9: Abweichungsermittlung mit R