Simulation von Daten

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
pinselicious
Beiträge: 2
Registriert: Fr Apr 23, 2021 5:09 pm

Simulation von Daten

Beitrag von pinselicious »

Hallo zusammen,

vorneweg: Ich bin noch sehr neu in R und hab dementsprechend viele Fragezeichen im Kopf. Mein Problem ist sehr wahrscheinlich ein ziemlich Triviales, aber meine Google-Suchen bringen mich auf keinen grünen Zweig.

Ich möchte einen neuen Datensatz erstellen (n = 1000). Ein Merkmal soll beispielsweise das Alter sein (20-80 Jahre). Ich möchte allerdings keine klassische Normalverteilung nutzen, sondern gerne eine kleine Linksschiefe einbauen (beispielsweise Mittelwert = 50 Jahre, Median = 55 Jahre). Super wäre es, wenn die Klassenbreite 1 betragen würde. Kann mir da jemand weiterhelfen?

Danke im Voraus!
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: Simulation von Daten

Beitrag von schubbiaschwilli »

Gude!

Nimm eine linksschiefe Verteilung, simuliere deine Daten (von 0 bis ... unendlich?) und Runde deiner Werte auf 0 Dezimalstellen.
Für eine Normalverteilung (ohne Stetigkeitsausgleich) würde das bspw. so aussehen:

Code: Alles auswählen

hist(round(rnorm(n=1000,mean=50,sd=15),0))
Dank&Gruß
Schubbiaschwilli
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Simulation von Daten

Beitrag von bigben »

Vielleicht sowas in der Art

Code: Alles auswählen

age <- 20 + 60 * rbeta(1000, shape1 =  3, shape2 = 10) 
age <- round(age)
plot(table(age))
Wenn das grundsätzlich passt, müsstest Du mit den Argumenten shape1 und shape2 ein wenig herumspielen.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
pinselicious
Beiträge: 2
Registriert: Fr Apr 23, 2021 5:09 pm

Re: Simulation von Daten

Beitrag von pinselicious »

Vielen Dank an euch beide für die schnellen und hilfreichen Antworten! :)

Genau so etwas habe ich gesucht, Danke!

Schönes Wochenende und liebe Grüße :)

bigben hat geschrieben: Fr Apr 23, 2021 8:59 pm Vielleicht sowas in der Art

Code: Alles auswählen

age <- 20 + 60 * rbeta(1000, shape1 =  3, shape2 = 10) 
age <- round(age)
plot(table(age))
Wenn das grundsätzlich passt, müsstest Du mit den Argumenten shape1 und shape2 ein wenig herumspielen.

LG,
Bernhard
Antworten