R中data.frame的嵌套采样
在下面的data.frameR中data.frame的嵌套采样,r,dataframe,random,dplyr,sample,R,Dataframe,Random,Dplyr,Sample,在下面的data.framep中,有757唯一的学区名称(dname)和5210唯一的学区名称(sname) 我想知道如何从R的40个dnames(地区)中抽取126个snames(学校) 因此,在最后一个示例(比如X)中,dim(table(X$dname,X$sname))必须返回:[1]40126 从某种意义上说,这是多阶段采样,因此我对任何软件包都持开放态度 p <- read.csv("https://raw.githubusercontent.com/hkil/m/m
p
中,有757
唯一的学区名称(dname
)和5210
唯一的学区名称(sname
)
我想知道如何从R的40个dname
s(地区)中抽取126个sname
s(学校)
因此,在最后一个示例(比如X
)中,dim(table(X$dname,X$sname))
必须返回:[1]40126
从某种意义上说,这是多阶段采样
,因此我对任何软件包都持开放态度
p <- read.csv("https://raw.githubusercontent.com/hkil/m/master/a.csv")
p我想对于这种多阶段采样,您可以尝试下面的代码
unq_dname <- unique(p$dname)
repeat {
out <- subset(p, dname %in% sample(unq_dname, 40))
if (length(unique(out$sname)) == 126) break
}
@感谢您的反馈!如果有126
行作为输出,那么代码似乎应该跳出循环。如果我遗漏了什么,我会再次检查…@akrun似乎OP有这样的情况:一些单个sname
落入多个dname
s。我更新了关于中断
dim(with(out,table(dname,sname)))