数据是保密的,因此这里是一个虚拟数据框。
i1 i2 o1
1 72 3.1 69
2 12 1.1 46
3 16 2.0 37
4 16 7.9 70
5 24 7.0 27
6 12 9.9 49
我想将此数据帧划分为3个固定大小的数据帧,但必须无需替换即可选择行。在这里,我说使用以下方法选择它的随机部分: -
x=sample(6,3);
df_part1=df[x,]
随机选择的行是: -
i1 i2 o1
4 16 2.0 37
6 12 9.9 49
1 72 3.1 69
现在,在我选择第二部分之前,我想从数据框中删除这些特定的行。我该怎么做呢?
答案 0 :(得分:1)
听起来您实际上想要split
您的数据框,而不是从中删除行。如果数据帧大小相等,并且您希望三个提取的数据帧是随机样本,请指定以下内容:
split(df, sample(1:3,dim(df)[1],TRUE))
获取三个采样的互斥数据帧的列表。无需从原始数据框中删除任何内容。
此外,如果您希望数据框的大小不同,可以在prob
中指定sample
参数。
答案 1 :(得分:0)
您可以先对1:6
进行采样,然后从改组的6个数字中提取信息:
tmp <- sample(6, 6)
tmp[1:3], tmp[4:6]
会向您提供相关信息,您可以从那里开始。我希望这会有所帮助。