Seite 1 von 1

Datenjudo mit Wahrheitswerten - dplyr, mutate

Verfasst: So Dez 27, 2020 11:06 am
von torecki
Ich möchte gerne den prozentualen Anteil von Ereignissen in Einzelaufnahmen und den Gesamtaufnahmen errechnen. Die Daten sehen in etwa so aus:

Code: Alles auswählen

|Punkt | Ereignis 1    |Ereignis 2 |Zeitaufwand|
|1	   |char1_1	| 1 	          | 2|
|1	   |char1_2	| 0 	          | NA|
|2	   |char2_1	| 0	          | 5|
|2	   |char2_2	| 0	          | NA|
Ereignis 1 ist jeweils eine Abkürzung des Artnahmens. Ereignis 2 ist boolean und als 0 oder 1 codiert. Der Zeitaufwand ist nur einmal pro Punkt erfasst worden. Mit

Code: Alles auswählen

testhh_Punkte <- hh-Aufnahmen %>%  group_by(Punkt, Ereignis 1)
erstelle ich mir einen Tibble.

Oder anders und eher ein Minimalbeispiel:

Code: Alles auswählen

library(tidyverse)
fl_df <- tibble(Fl = c(1, 1, 1),
                    AFl = c(1, 1, 2),
                    Baum = c("RBU", "BAH", "RBU"),
                    Schaden = c(0, 1, 0))
tb_AFl <- fl_df %>% group_by(AFl)
Hier ist "AFl" der Punkt, "Baum" die Art und "Schaden" Ereignis 2. Wie ermittele ich jetzt aber
  • den Anteil von Mengen des Ereignis 1 mit Ereignis 2 == 1 am Gesamtumfang
  • den Anteil von Mengen des Ereignis 1 mit Ereignis 2 == 1 in den Punkten
  • den Anteil des Punktanteils am Gesamtanteil
Ich dachte, dass ich eine Spalte mit den Jeweiligen Anzahlen und Anteilen anfügen kann. Ich habe aber Schwierigkeiten die Anzahl der Mengen mit Wahrheitswert==1 in den Punkten zu berechnen.

Vielen Dank für die Hilfe bei den Anfängerfragen im voraus. BTW: wie erstellt man ein richtiges R-Minimalbeispiel mit lauffähigen Daten?

Re: Datenjudo mit Wahrheitswerten - dplyr, mutate

Verfasst: So Dez 27, 2020 6:41 pm
von EDi
Ich bin verwirrt, wie passen deine Fragen mit deinen Beispielen zusammen?

Was meinst du mit Mengen? Wie hängts das mit AFL, Baum, Schaden zusammen?

Re: Datenjudo mit Wahrheitswerten - dplyr, mutate

Verfasst: So Dez 27, 2020 6:56 pm
von bigben
Es passt nicht nur der Beispielcode nicht:
torecki hat geschrieben: So Dez 27, 2020 11:06 amDie Daten sehen in etwa so aus:

Code: Alles auswählen

Punkt       Ereignis 1	Ereignis 2   Zeitaufwand
1           char1_1     boolean-1     2
1           char1_2     boolean-0     NA
2           char2_1     0             5	
2           charr2_2    0		
Ereignis 2 kann also mindestens die drei Werte "boolean-1", "boolean-0" und "0" annehmen? Zeitaufwand kann NA sein, kann aber auch leer sein?? In Ereignis 1 gibt es char___ mit einem r und charr___ mit 2 r? Da gehört insgesamt mal gut aufgeräumt in diesen Daten. Wenn Ereignis 3 ein Logikwert ist, dann sollte er TRUE, FALSE oder NA sein. Sonst nichts. Verwende für solche Tabellen bitte auch keine Tabulatoren - in Deiner Frage oben wundere ich mit über rechts- und linksausgerichtete Zellen, die es in R nicht gibt.
Wie ermittele ich jetzt aber
  • den Anteil von Mengen des Ereignis 1 mit Ereignis 2 == 1 am Gesamtumfang
  • den Anteil von Mengen des Ereignis 1 mit Ereignis 2 == 1 in den Punkten
  • den Anteil des Punktanteils am Gesamtanteil
Ich verstehe die Fragen nicht, könnte mir aber denken, dass es sich lohnt, wenn Du Dich mit der Funktion table() beschäftigst.
wie erstellt man ein richtiges R-Minimalbeispiel mit lauffähigen Daten?
Im FAQ-Unterforum findet sich einiges dazu. Kurzform: Schreib das Beispiel in Excel, speichere es dort als CSV ab und lade die Datei ins Forum hoch.

LG,
Bernhard

Re: Datenjudo mit Wahrheitswerten - dplyr, mutate

Verfasst: So Dez 27, 2020 7:35 pm
von torecki
EDi hat geschrieben: So Dez 27, 2020 6:41 pm Ich bin verwirrt, wie passen deine Fragen mit deinen Beispielen zusammen?
Die Einzelaufnahmen sind die Aufnahmen am Punkt. Dort möchte ich die Anzahl der Aufgenommenen Arten (Ereignis 1) mit der Anzahl des Auftretens einer Beobachtung "Ereignis2==1" miteinander ins Verhältnis setzen. n(Ereignis2==1)/n(Ereignis1) an Punkt X. Dieses möchte ich wiederum ins Verhältnis setzen zum Gesamtgeschehen (n(Ereignis2==1)/n(Ereignis1) an Punkt X) / (n(alleEreignis2==1)/n(alleEreignis1))
Was meinst du mit Mengen? Wie hängts das mit AFL, Baum, Schaden zusammen?
Mit Mengen meinte ich die Anzahl der Ereignisse, zum Beispiel erfassten Bäume, am jeweilgen Punkt=AFl und insgesamt. Baum=Ereignis1, Schaden=Ereignis2.

Re: Datenjudo mit Wahrheitswerten - dplyr, mutate

Verfasst: Mo Dez 28, 2020 8:54 am
von EDi
Du siehst, weder bigben noch ich verstehen deine Frage. Bitte mach dir die Mühe und erstelle uns ein reproduzierbares Beispiel.

Dann bin ich mir sicher, dass wir dir schnell und einfach helfen können (mit ?table oder dplyr zum Beispiel).