从R中的预先指定的相关矩阵生成样本

时间:2017-03-28 18:41:36

标签: r dataframe

我想从大型数据框生成样本,但要求保留一些预先指定的列的固定比例。 以下是使用的简化示例:

set.seed(1234)
respondent <- 1:1000
red <- sample(0:1, 1000, replace=T)
blue <- sample(0:1, 1000, replace=T)
green <- sample(0:1, 1000, replace=T)
black <- sample(0:1, 1000, replace=T)
grey <- sample(0:1, 1000, replace=T)

my.new.df <- data.frame(respondent, red ,blue,green,black,grey)
lapply(my.new.df[,2:6],sum)
$red
[1] 518

$blue
[1] 485

$green
[1] 515

$black
[1] 481

$grey
[1] 508

现在,举个例子,我想从这个my.new.df中取100个样本来保持数据的相关结构:

cor(my.new.df[,2:6])
              red         blue       green       black         grey
red   1.000000000  0.047131752  0.01293420  0.02740555  0.007429767
blue  0.047131752  1.000000000 -0.03913522 -0.02516950  0.006483748
green 0.012934202 -0.039135222  1.00000000 -0.02288682 -0.066518451
black 0.027405546 -0.025169500 -0.02288682  1.00000000 -0.017406799
grey  0.007429767  0.006483748 -0.06651845 -0.01740680  1.000000000

0 个答案:

没有答案