【发布时间】:2023-01-24 23:24:13
【问题描述】:
我有一个名为“Tree_all_exclusive”的数据集,有 7607 行和 39 列,其中包含树木的不同信息,例如年龄、身高、姓名等。我可以使用以下代码创建一个 1200 大小的样本,它看起来采摘树木随机:
sam1<-sample_n(Tree_all_exclusive, size = 1200)
但我喜欢生成一个按比例分层的 1200 棵树样本,它会根据特定类型树的数量比例来选择树的数量。
为此,我使用以下代码:
sam3<-Tree_all_exclusive %>%
group_by(TaxonNameFull)%>%
summarise(total_numbers=n())%>%
arrange(-total_numbers)%>%
mutate(pro = total_numbers/7607)%>% #7607 total number of trees
mutate(sz= pro*1200)%>% #1200 is number of sample
mutate(siz=as.integer(sz)+1) #since some size is 0.01 so making it 1
sam3
s<-stratified(sam3, group="TaxonNameFull", sam3$siz)
但它给了我以下错误:
s_n(indt, group, size) 错误:“size”应作为命名向量输入。
你能给我指出解决这个问题的任何方向吗?
另外,如果有任何其他方法可以按比例进行分层抽样,请指导我。
非常感谢。
【问题讨论】: