【发布时间】:2019-03-26 02:57:13
【问题描述】:
嗨,我如何在一个数据框中子集 2 个不同的 N 个随机样本。请参见下面的示例。
我有 df 主数据集。我需要主数据集的 2 个子集。通过从主数据集中获取 3 个随机行,我得到了 2 个子集。但是,我需要这 2 个子集彼此唯一。
> df = data.frame(matrix(rnorm(20), nrow=10))
> df
X1 X2
1 0.19234071 -0.86702704
2 -0.18264853 1.75276062
3 0.75824257 -0.51314220
4 -0.84571563 -1.24841675
5 0.75470152 1.51408945
6 1.04546517 1.33292716
7 -0.51449011 -1.51275633
8 1.36014747 0.07400024
9 -0.02397481 0.17177997
10 -1.37967248 -0.50416489
df1 = df[sample(nrow(df), 3), ]
df1
X1 X2
10 -1.3796725 -0.5041649
1 0.1923407 -0.8670270
4 -0.8457156 -1.2484167
df2 = df[sample(nrow(df), 3), ]
df2
X1 X2
3 0.7582426 -0.5131422
4 -0.8457156 -1.2484167
6 1.0454652 1.3329272
如您所见,随机子集 df1 和 df2 具有相同的行,即第 4 行。我需要数据帧的 2 个具有不同行的随机子集。
【问题讨论】:
-
split(head(df[sample(nrow(df)),]), 1:2)?
标签: r