gpt4 book ai didi

r - R中的分层随机抽样

转载 作者:行者123 更新时间:2023-12-04 01:45:47 25 4
gpt4 key购买 nike

我正在努力使用具有 3078 个观察值的分层随机抽样来创建大小为 100 的分层样本。分层随机抽样必须满足的条件是:FARMS92<100,介于 100 和 300 之间,介于 300 和 600 之间,并且 FARMS92>600 作为分层,并使用比例分配。

当我遵循分层功能时,我不明白如何进行:https://gist.github.com/mrdwab/6424112

这是我的数据集:

        COUNTY   STATE  ACRES92 ACRES87 FARMS92
1 ALEUTIAN AK 683533 726596 764514
2 ANCHORAGE AK 47146 59297 256709
3 FAIRBANKS AK 141338 154913 204568
4 JUNEAU AK 210 214 127
5 KENAI AK 50810 85712 98035
6 AUTAUGA AL 107259 116050 145044
7 BALDWIN AL 167832 192082 223502
8 BARBOUR AL 177189 207906 222066
9 BIBB AL 48022 50818 49630
10 BLOUNT AL 137426 140107 163638
11 BULLOCK AL 144799 156332 185304
12 BUTLER AL 96427 99997 124491
13 CALHOUN AL 73841 90474 93248
14 CHAMBERS AL 109555 102153 121101
15 CHEROKEE AL 121504 119956 143656

能否请您解释一下如何进行的步骤?

最佳答案

您可以先分成多个箱子,例如<100,介于 100 和 300 之间,等等,使用 cut 函数。

data$cut <- cut(data$FARMS92, breaks = c(0,100,300,600, 1E7), labels = c("A","B","C", "D"), right = TRUE)

然后使用stratify 函数(https://gist.github.com/mrdwab/6424112)。

stratified(data, "cut", size = c(2,2,2,2))

对于这个特定的示例,我使用了 size = c(2,2,2,2),它将从每个 bin 中返回 2。由于您想要样本大小 = 100,因此相应地调整大小。例如,对于比例分配,您可以对原始数据集使用如下内容:size = round(100 * prop.table(table(data$cut)), 0)

输出:

     COUNTY STATE ACRES92 ACRES87 FARMS92 cut
7 BALDWIN AL 167832 192082 22 A
6 AUTAUGA AL 107259 116050 14 A
4 JUNEAU AK 210 214 127 B
12 BUTLER AL 96427 99997 124 B
11 BULLOCK AL 144799 156332 385 C
15 CHEROKEE AL 121504 119956 436 C
9 BIBB AL 48022 50818 49630 D
8 BARBOUR AL 177189 207906 222066 D

我修改了您的数据集以生成更好的工作示例。数据:

data <- read.table(text= "COUNTY   STATE  ACRES92 ACRES87 FARMS92
1 ALEUTIAN AK 683533 726596 76
2 ANCHORAGE AK 47146 59297 2
3 FAIRBANKS AK 141338 154913 204
4 JUNEAU AK 210 214 127
5 KENAI AK 50810 85712 480
6 AUTAUGA AL 107259 116050 14
7 BALDWIN AL 167832 192082 22
8 BARBOUR AL 177189 207906 222066
9 BIBB AL 48022 50818 49630
10 BLOUNT AL 137426 140107 163638
11 BULLOCK AL 144799 156332 385
12 BUTLER AL 96427 99997 124
13 CALHOUN AL 73841 90474 93248
14 CHAMBERS AL 109555 102153 121
15 CHEROKEE AL 121504 119956 436 ", stringsAsFactors=FALSE, header = TRUE)

关于r - R中的分层随机抽样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com