2014-10-10 162 views
0

我有一個概率分佈X,我想創建100個觀察值的樣本: 我使用sample(X,size=100,replace=TRUE)我想繪製100,1000,10000個樣本的樣本平均PDF值,所以我嘗試了使用matrix(sample(X,size=100,replace=TRUE),nrow=100,ncol=100)創建觀察矩陣,但它會在所有列中生成相同的樣本。關於如何爲每列創建新樣本的任何想法?在R中創建樣本矩陣

+0

使用'replicate' – konvas 2014-10-10 14:21:54

+2

或者只是樣品1E4樣品和使用'dim',例如'溫度< - 樣品(X,大小= 1E4,替換= TRUE); dim(temp)< - c(100,100)' – 2014-10-10 14:27:07

回答

2

這個怎麼樣?用您的示例調用替代rnorm。這將需要一個新的樣本對於每一列

replicate(3,rnorm(10)) 

#       [,1]      [,2]     [,3] 
# [1,] -0.439366440511456290974 0.349113310500896667499 2.10467702915785226381 
# [2,] 0.788892611945899879800 0.572377925929974273878 0.92566383997665424577 
# [3,] 0.098359807623723205516 -0.642162545019581476602 0.28636140673186011307 
# [4,] -3.063133170307587249681 1.322694510750672014510 0.66340500173312999532 
# [5,] 0.255018412772398617161 1.492588176987205361712 1.11444057062233659039 
# [6,] -1.069621910039232570711 -1.460604130070508821504 -0.81534768620081377044 
# [7,] -1.036421328330551894226 1.525817374339748067058 0.47070620500783272311 
# [8,] -0.139135286049327872027 -0.065015174557339946992 0.21483758566831215320 
# [9,] -0.370005496738202488416 1.573987068922320986530 -1.21431499328084857581 
#[10,] -0.070508137614489943545 1.657541962601124518883 0.45886687983031809734