从矩阵中引导

时间:2015-02-20 12:26:43

标签: r bootstrapping

我花了一个多星期的时间看着不同的柱子,以便弄明白这一点,不幸的是仍然卡住了。我是boostrapping的新手,并且发现使用R作为我的数据集很难让它工作。

我有一个数据矩阵,我想通过参数自举从矩阵中抽取1000个样本。然后根据这些采样值计算平均值。我尝试了下面的代码并没有得到任何结果。

任何帮助将不胜感激。

        A1        A2        A3        A4        D1        D2        E1
[1,]  0.900111 -0.314068  0.203188 -0.548964 -0.107771 -0.072454  0.084097
[2,] -0.314068  0.195798 -0.138751  0.198521  0.066360  0.048523 -0.126348
[3,]  0.203188 -0.138751  0.400325 -0.128715 -0.180103 -0.037768  0.128198
[4,] -0.548964  0.198521 -0.128715  1.190415  0.067779  0.047209 -0.053145
[5,] -0.107771  0.066360 -0.180103  0.067779  0.149419  0.039649 -0.102587
[6,] -0.072454  0.048523 -0.037768  0.047209  0.039649  0.396405  0.016789

[7,] 0.084097 -0.126348 0.128198 -0.053145 -0.102587 0.016789 0.790767

#creating the data matrix 

data <- read.csv("Matrix.csv", header=F) 
data1 <- as.matrix(data)

#Bootstrap 1000 samples

psi<- function (data,i) mean (data[i])
byboot = boot(data, psi, R=1000)
myboot

1 个答案:

答案 0 :(得分:0)

如果您尝试从相关的正态分布中抽样,则可以使用MASS::mvrnorm

library(MASS)
x <- mvrnorm(1000, rep(0,7), data)
colMeans(x)
cov(x) # check the covariance matrix is approximately recovered