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!
Simulation von Daten
-
- Beiträge: 253
- Registriert: Di Jun 27, 2017 12:09 pm
Re: Simulation von Daten
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:
Dank&Gruß
Schubbiaschwilli
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))
Schubbiaschwilli
Re: Simulation von Daten
Vielleicht sowas in der Art
Wenn das grundsätzlich passt, müsstest Du mit den Argumenten shape1 und shape2 ein wenig herumspielen.
LG,
Bernhard
Code: Alles auswählen
age <- 20 + 60 * rbeta(1000, shape1 = 3, shape2 = 10)
age <- round(age)
plot(table(age))
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
-
- Beiträge: 2
- Registriert: Fr Apr 23, 2021 5:09 pm
Re: Simulation von Daten
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
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
Wenn das grundsätzlich passt, müsstest Du mit den Argumenten shape1 und shape2 ein wenig herumspielen.Code: Alles auswählen
age <- 20 + 60 * rbeta(1000, shape1 = 3, shape2 = 10) age <- round(age) plot(table(age))
LG,
Bernhard