【发布时间】:2017-03-14 14:33:24
【问题描述】:
我有一个 20 万行、10 列的数据框。 (为了方便阅读,这里只包括 3 个)
df=data.frame(A=rep(letters[1:20],10000),B=rep(letters[2:21],10000),C=rep(letters[3:22],10000))
我正在尝试将数据分成两个子集 - 训练和测试。
s=sample(dim(df[1],.6*dim(df)[1])
training=df[s,]
testing=df[-s,]
有没有办法从 df 中抽取样本,使得每个结果子集中至少有一个因子?也就是说,从 A-J 列中,我想要训练集和测试集中的每个因子的至少一个实例。
我尝试了Random subset containing at least one instance of each factor,但无法将其应用于多个列,而不是示例中使用的单个 on。
【问题讨论】:
-
你可能想看看昨天的这个问题:stackoverflow.com/questions/40353057/…
-
@Dave2e 该示例适用于单个变量,不适用于我有兴趣拆分的 10 个变量