Eigene Formel erstellen

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
Lotti_97
Beiträge: 5
Registriert: Mi Sep 30, 2020 4:19 pm

Eigene Formel erstellen

Beitrag von Lotti_97 »

Hallo liebes Forum,

ich sitze gerade an der Auswertung eines Datensatzes und muss für die Operationalisierung eines Wissenstests eine Formel zur Berechnung der durchschnittlichen prozentualen Abweichung vom idealen Wert erstellen:(Richtiger Wert – abgegebener Wert) / exakter Wert x 100.

Ich gehöre leider nicht zu den Assen unter den Nutzern von R und tue mir schwer, diese Formel umzusetzen. Gibt es dafür schon einen Befehl, den ich nicht kenne oder könnt ihr mir helfen, wie man so eine Formel in einen Befehl einpflegt?! Über jegliche Tipps und Anregungen wäre ich sehr dankbar!

Liebe Grüße!
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Eigene Formel erstellen

Beitrag von jogo »

Hallo Lotti,

willkommen im Forum!
Kannst Du uns bitte die Struktur Deiner Daten zeigen? Das ist der output von:

Code: Alles auswählen

str(DeinDataframe)
Gruß, Jörg
Lotti_97
Beiträge: 5
Registriert: Mi Sep 30, 2020 4:19 pm

Re: Eigene Formel erstellen

Beitrag von Lotti_97 »

Hallo Jörg,

es handelt sich um die Spalten slide1 - slide10 im angehängten Dokument (dies sind die abgegebenen Werte der Probanden, die an dem richtigen Wert gewichtet werden sollen = durchschnittliche prozentuale Abweichung). Ist verständlich, was ich meine?

LG und lieben Dank bereits im Voraus!
Dateianhänge
Alicia_Teil2.xls
(10.5 KiB) 72-mal heruntergeladen
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Eigene Formel erstellen

Beitrag von bigben »

Hilft das hier?

Code: Alles auswählen

bsp <- data.frame(slide1 = c(25, 50, 50, 50, 80, 37, 50, 70),
                  slide2 = c(50, 50, 50, 50, 30, 80, 50, 31))


# es stehe rw für den richtigen Wert
#          aw für den abgegebenen Wert
#          ew für den erwarteten Wert
lottisfun <- function(rw, aw, ew) (rw - aw) / ew * 100

# nehmen wir an, rw = 100, ew = 80 und aw ist slide1, dann rechnen wir

lottisfun(rw = 100, aw = bsp$slide1, ew = 80)
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Lotti_97
Beiträge: 5
Registriert: Mi Sep 30, 2020 4:19 pm

Re: Eigene Formel erstellen

Beitrag von Lotti_97 »

Lieben Dank Bernhard, für die schnelle Antwort!
Das erscheint mir schonmal sehr plausibel und nachvollziehbar - danke, für die genaue Erklärung der einzelnen Schritte.

Eine Frage habe ich aber noch... Jede Testperson gibt eine Antwort pro slider ab (also insgesamt 10, da slider 1-10). Wie kann ich nun für jede Testperson einen durchschnittlichen Wert hinweg über alle slider bekommen?

Liebe Grüße und nochmals Danke für die wirklich schnelle Hilfe!
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Eigene Formel erstellen

Beitrag von EDi »

Z.b. mit ?rowMeans
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Eigene Formel erstellen

Beitrag von bigben »

Es gibt wahrscheinlich tausendundeine Möglichkeiten, das rowMeans auf die entsprechenden Daten anzuwenden. Programmiertechnisch nicht sonderlich elegant aber für 10 Spalten in Ordnung und sehr anfängerfreundlich wäre sowas hier:

Code: Alles auswählen

# nehmen wir an, rw = 100, ew = 80
# wir erstellen einen neuen dataframe

bsp.i <- data.frame(slide1 = lottisfun(rw = 100, aw = bsp$slide1, ew = 80),
                    slide2 = lottisfun(rw = 100, aw = bsp$slide2, ew = 80)
                    # weitere hier mit copypaste einfügen 
                    )
# Reihenmittel aus bsp.i mit rowMeans 
rowMeans(bsp.i)
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Lotti_97
Beiträge: 5
Registriert: Mi Sep 30, 2020 4:19 pm

Re: Eigene Formel erstellen

Beitrag von Lotti_97 »

Hallo Bernhard - nochmals danke für deine Hilfe... leider bleibt es nicht bei den 10 Datenreihen, das war nur ein Beispiel wie mein Datensatz aufgebaut ist. Die Erhebung läuft noch und ich möchte nur bereits das grobe Script schon einmal porgrammieren und vorschreiben.

Aber so habe ich schonmal eine Idee bekommen, wie ich es dann umsetzen kann - lieben Dank für die Unterstützung!

Danke auch an Edi für die Antwort! :)
Antworten