【发布时间】:2016-05-03 23:52:53
【问题描述】:
我的数据集包含 1 到 70 列数据和 1 到 5 列 ID 变量。我需要按 ID 变量分组,然后在 ID 变量中随机抽取行块。重新采样的数据集需要与原始数据集的长度相同。
下面是带有所需结果表的示例数据集。因此,我需要按SITE 和DATE 分组,然后随机抽样与每个INDIV 关联的三行块(aqu、n/a、terr)。请注意CATEGORY 顺序如何保留在 RESULT 表中(例如,aqu、n/a、terr)。
我需要使用dplyr,因为这个随机抽样程序将数据输入到更大的for 循环中,该循环使用dplyr 函数进行各种计算……而且你们中的许多人都知道dplyr 掩盖了其他包中的各种函数.对于将原始表复制并粘贴到此问题中,我深表歉意,但这是复制数据集复杂性的最简单方法。提前致谢。
数据
SITE DATE INDIV CATEGORY BIOMASS LENGTH
GC Oct A aqu 0.0002 10
GC Oct A n/a 0 0
GC Oct A terr 0 0
GC Oct B aqu 0 0
GC Oct B n/a 0 0
GC Oct B terr 0 0
GC Oct C aqu 0.1875 20
GC Oct C n/a 0 0
GC Oct C terr 0.5424 30
GC Aug D aqu 7.4888 10
GC Aug D n/a 0 0
GC Aug D terr 100.9245 5
GC Aug E aqu 0.0001 1
GC Aug E n/a 0 0
GC Aug E terr 0 0
GC Aug F aqu 0 0
GC Aug F n/a 0 0
GC Aug F terr 20.593 10
NSVhi Oct A aqu 5.8713 5
NSVhi Oct A n/a 0 0
NSVhi Oct A terr 13.8651 3
NSVhi Oct B aqu 17.2288 2
NSVhi Oct B n/a 0 0
NSVhi Oct B terr 0 0
NSVhi Oct C aqu 22.7558 1
NSVhi Oct C n/a 0 0
NSVhi Oct C terr 24.7843 6
NSVhi Aug D aqu 0 0
NSVhi Aug D n/a 0 0
NSVhi Aug D terr 31.9222 7
NSVhi Aug E aqu 0.046 10
NSVhi Aug E n/a 0 0
NSVhi Aug E terr 0 0
NSVhi Aug F aqu 2.1156 5
NSVhi Aug F n/a 0 0
NSVhi Aug F terr 0 0
结果
SITE DATE INDIV CATEGORY BIOMASS LENGTH
GC Oct C aqu 0.1875 20
GC Oct C n/a 0 0
GC Oct C terr 0.5424 30
GC Oct C aqu 0.1875 20
GC Oct C n/a 0 0
GC Oct C terr 0.5424 30
GC Oct A aqu 0.0002 10
GC Oct A n/a 0 0
GC Oct A terr 0 0
GC Aug D aqu 7.4888 10
GC Aug D n/a 0 0
GC Aug D terr 100.9245 5
GC Aug F aqu 0 0
GC Aug F n/a 0 0
GC Aug F terr 20.593 10
GC Aug D aqu 7.4888 10
GC Aug D n/a 0 0
GC Aug D terr 100.9245 5
NSVhi Oct B aqu 17.2288 2
NSVhi Oct B n/a 0 0
NSVhi Oct B terr 0 0
NSVhi Oct C aqu 22.7558 1
NSVhi Oct C n/a 0 0
NSVhi Oct C terr 24.7843 6
NSVhi Oct A aqu 5.8713 5
NSVhi Oct A n/a 0 0
NSVhi Oct A terr 13.8651 3
NSVhi Aug D aqu 0 0
NSVhi Aug D n/a 0 0
NSVhi Aug D terr 31.9222 7
NSVhi Aug D aqu 0 0
NSVhi Aug D n/a 0 0
NSVhi Aug D terr 31.9222 7
NSVhi Aug D aqu 0 0
NSVhi Aug D n/a 0 0
NSVhi Aug D terr 31.9222 7
【问题讨论】: