使用head()从随机起始位置打印数据帧中的n个有序行

时间:2017-01-09 05:32:03

标签: r

我知道我可以使用

head(sample(x),m) 

从我的数据集中打印随机选择的 m 行,但在这种情况下,每个新绘制都是随机的。如果我不是随机化每次抽奖,而是想让第一次抽奖的起始位置随机化,同时保留后续行的顺序呢?

为了说明,假设我们有一个 n 行的数据集,我想从随机位置开始按顺序打印它们的 m 。随机绘制的起始位置是5,所以我想要的功能将打印 5,6,7,..., m < 名词

这更像是一个理论问题,而不是诊断问题,所以我不相信需要一个MWE示例...如果您认为是这样,请告诉我,我很乐意提供一个。

1 个答案:

答案 0 :(得分:3)

我们使用sample元素创建数字索引,并添加' n'的序列。应该遵循它的行。如果sample d索引是最后一行,那么我们可以创建一个条件来检查这些情况

i1 <- sample(nrow(df1), 1)+ 0:3
df1[ i1[i1 <= nrow(df1)], ]