r R生成具有给定分布的随机数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r R生成具有给定分布的随机数据相关的知识,希望对你有一定的参考价值。

# Andrzej Kostanski adnrzej.kostanski@gmail.com

# sciezka do pliku z danym wejsciowymi  
input_path<-"/Users/andi/Desktop/EM-ALGORITHM/r-generowanie/input.csv"
output_path<-"/Users/andi/Desktop/EM-ALGORITHM/r-generowanie/output.csv"

con<-file(input_path)
# n oznacza liczbe wszystkich losowan
n<-readLines(con,1)
close(con)

# rozklady okreslone parametrami tau i mi, oraz pradopodobienstwo ich wyboru
rozklady<-read.csv(input_path,skip=1,header=TRUE)


# losuje n-razy rozklady zgodnie z prawdopodibenstwem ich wystapienia (tau), w liście zapisuję indeksy
idx<-sample(1:nrow(rozklady),size=n,replace=TRUE,prob=rozklady$tau)

# deklarujemy pusty data frame z 2 kolumnami na n wierszy (bardziej efektywnie niz pusty a potem w kazdej iteracji rozszerzac)
output<-data.frame(X = numeric(n), Klasa = character(10), stringsAsFactors=FALSE)

# iterujemy by wylosowac liczby zgodnie z rodzajem rozkladu wylosowanym wczesniej, zapisujemy do outputs otrzymana wartosci i informacje nt klasy rozkladu
for (i in 1:n){
  val<-rnorm(1, rozklady[idx[i],]$tau, rozklady[idx[i],]$sigma )  
  output[i,]<-c(val,LETTERS[idx[i]])
}

# zapis do pliku n par x, klasa
write.csv(output,output_path,row.names=FALSE)

以上是关于r R生成具有给定分布的随机数据的主要内容,如果未能解决你的问题,请参考以下文章

使用给定概率matlab生成随机数

三角分布的随机样本:R

随机向量 a 具有来自 R 中均匀分布的元素

给定随机变量X的概率分布——在R语言中模拟此随机变量

给定随机变量X的概率分布——在R语言中模拟此随机变量

给定随机变量X的概率分布——在R语言中模拟此随机变量