Ich nehme an, dass Sie daran interessiert sind, die Verteilung über Ihre kategorischen Werte zu verstehen.
Der beste Weg, um "neue" Daten zu generieren, besteht darin, aus Ihren vorhandenen Daten mit der Funktion s sample() von R zu ermitteln. Dadurch erhalten Sie Werte, die der Wahrscheinlichkeitsverteilung folgen, die von Ihren vorhandenen Zählungen angegeben wird.
ein triviales Beispiel zu geben, nehmen wir an, Sie für eine kleine Stadt, eine Datei von Wählerdaten hatte, wo die Werte politische Einstellung der Wähler sind, und zählt, sind Anzahl der Wähler:
affils <- as.factor(c('democrat','republican','independent'))
counts <- c(552,431,27)
## Simulate 20 new voters, sampling from affiliation distribution
new.voters <- sample(affils,20, replace=TRUE,prob=counts)
new.counts <- table(new.voters)
In der Praxis Sie werden wahrscheinlich Ihre 100m Zeilen von Werten und Zählern mit der Funktion read.csv() von R einbringen. Angenommen, Sie haben eine Kopfzeile bekam mit „Werte \ t zählt“, dass Code wie folgt aussehen könnte:
dat <- read.csv('values-counts.txt',sep="\t",colClasses=c('factor','numeric'))
new.dat <- sample(dat$values,100,replace=TRUE,prob=dat$counts)
Ein Nachteil: wie Sie vielleicht wissen, hält R alle seine Objekte im Speicher, so sein Sicher, Sie haben genug Freiraum für 100m Reihen von Daten (das Speichern von Zeichenketten als Faktoren wird dazu beitragen, den Footprint zu reduzieren).
+1 So einfach wie schön: Warum beschränken Sie sich auf ideale Darstellungen, wenn ein Computer es Ihnen erlaubt, die Realität selbst zu haben? – Jaime