我之前从我的数据框中随机抽取了一个邮政编码样本,然后意识到我没有对所有更高级别的统计单位进行抽样。我有大约 100 万个邮政编码和 7000 个中间输出统计单位。我希望样本在每个统计单元中具有大致相同数量的邮政编码。
如何从每个更高级别的统计单元中随机抽取 35 个邮政编码?
我之前使用以下代码随机抽样了 250,000 个邮政编码:
total.sample <- total[sample(1:nrow(total), 250000,
replace=FALSE),]
如何根据另一个列变量(例如更高级别的统计单位(参见下面数据框结构中的 msoa.rank))指定邮政编码的随机样本配额?
数据库结构:
'data.frame': 1096289 obs. of 25 variables:
$ pcd : Factor w/ 986055 levels "AL100AB","AL100AD",..: 282268 282258
$ mbps2 : int 0 1 0 0 0 1 0 0 0 0 ...
$ averagesp : num 16 7.8 7.8 9.5 9.4 3.2 11.1 19.4 10.5 11.8 ...
$ mediansp : num 18.2 8 7.8 8.1 8.5 3.2 8.1 18.7 9.7 8.9 ...
$ nga : int 0 0 0 0 0 0 0 0 0 0 ...
$ x : int 533432 532192 533416 533223 532866 531394 532899 532744
$ total.dps : int 11 91 10 7 9 10 3 5 21 12 ...
$ connections.density: num 7.909 0.747 3.1 7.714 1.889 ...
$ urban : int 1 1 1 1 1 1 1 1 1 1 ...
$ gross.pay : num 36607 36607 36607 36607 36607 ...
$ p.tert : num 98.8 98.8 98.8 98.8 98.8 ...
$ p.kibs : num 70.3 70.3 70.3 70.3 70.3 ...
$ density : num 25.5 25.5 25.5 25.5 25.5 25.5 25.5 25.5 25.5 25.5 ...
$ p_m_s : num 93.5 93.5 93.5 93.5 93.5 ...
$ p_m_l : num 6.52 6.52 6.52 6.52 6.52 ...
$ p.edu : num 62.6 62.6 62.6 62.6 62.6 ...
$ p.claim : num 1.58 1.58 1.58 1.58 1.58 ...
$ p.non.white : num 21.4 21.4 21.4 21.4 21.4 21.4 21.4 21.4 21.4 21.4 ...
$ msoa.rank : int 2 2 2 2 2 2 2 2 2 2 ...
$ oslaua.rank : int 321 321 321 321 321 321 321 321 321 321 ...
$ nuts2.rank : int 22 22 22 22 22 22 22 22 22 22 ...
$ gor.rank : int 8 8 8 8 8 8 8 8 8 8 ...
$ cons : int 1 1 1 1 1 1 1 1 1 1 ...
pcd = 邮政编码
msoa.rank = 每个中间输出统计单元的序数变量