我花了一个多星期的时间看着不同的柱子,以便弄明白这一点,不幸的是仍然卡住了。我是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
答案 0 :(得分:0)
如果您尝试从相关的正态分布中抽样,则可以使用MASS::mvrnorm
library(MASS)
x <- mvrnorm(1000, rep(0,7), data)
colMeans(x)
cov(x) # check the covariance matrix is approximately recovered