Ja, da musst Du jetzt aber mit einer recht technischen Antwort leben. R ist eine Computersprache, die strikt ihren Regeln folgt und nicht wie menschliche Sprachen aus dem Kontext heraus auch verstanden wird, selbst wenn Regeln und Wortschatz nicht streng eingehalten werden.
Im Idealfall kannst Du zu allen Kommandos von R die Regeln erfahren, wenn Du die eingebaute Hilfefunktion aufrufst, in diesem Fall
Die dann erscheinende Hilfeseite ist streng formalisiert, d. h. man muss sich am anfang daran gewöhnen, mit der Zeit findet man Informationen aber sehr schnell. Unter der Überschrift Usage werden die möglichen Argumente benannt, in diesem Fall
Code: Alles auswählen
mean(x, ...)
## Default S3 method:
mean(x, trim = 0, na.rm = FALSE, ...)
Man ruft mean also immer mit einem Argument
x auf und weiter unten unter der Überschrift Arguments kann man sehen, wofür x steht:
Code: Alles auswählen
x
An R object. Currently there are methods for numeric/logical vectors and date, date-time and time interval objects.
Die Funktion verarbeitet also Vektoren von Zahlen, logischen Werte und Datumsangaben. Aber eben nur Vektoren. Dein
ESG ist aber kein Vektor, sondern ein data.frame:
Code: Alles auswählen
> is.vector(bsp)
[1] FALSE
> is.data.frame(bsp)
[1] TRUE
Ein data.frame ist immer eine LIste von Vektoren, selbst aber nie ein Vektor:
Und weil Du die Funktion read_excel genommen hast ist es leider noch komplizierter. Dein ESG ist ein tibble das ein data.frame ist das eine list ist.
sorry, wenn das jetzt ne blöde Frage ist,
Sorry, das ist kompliziert, aber mit diesen Datentypen muss man sich beschäftigen, wenn man in R nicht ständig raten sondern verstehen will, was funktioniert und was nicht. Ist also keine blöde Frage aber doch ein Hinweis, dass Du Dich mit gewissen Grundlagen beschäftigen musst. Sonst ist Frustration vorprogrammiert.
Vektoren:
https://cran.r-project.org/doc/manuals/ ... nd-vectors
Listen und data.frames:
https://cran.r-project.org/doc/manuals/ ... ata-frames
Tibble:
https://tibble.tidyverse.org/
LG,
Bernhard